mycat核心概念
2024-08-27 00:03:30
一、逻辑库(schema)
业务人员一般是不需要知道数据库中间件的,他们只需要连接到数据库并使用数据库,一切复杂的细节都被中间件给隐藏了,对于业务人员来说中间件即是一个数据库。这里逻辑库的概念就是一个或者多个数据库集群构成的逻辑库。其实我们可以简单地理解为:mycat这样的中间件就是一个逻辑库。
二、逻辑表(table)
既然集群的数据库能够构造一个逻辑库,那么数据表也一样可以分布在不同的数据库里面,但是对于业务人员来说,逻辑上却是同一张表。
注意:逻辑表可以分片,也可以不分片。也就是说它可以分布在多个数据库里面,也可以只存在于一个数据库里面。
逻辑表分为四种:
1)分片表
2)非分片表
上面两种即是分片和非分片表,那么ER表是什么呢?
3)ER表
ER(entity relationship model)实体关系模型,其实我们可以理解为数据库表之间是存在关系的。但如果表分布在不同的数据库里面,我们的join操作就会出现夸库查询,这将会影响性能。而ER表,将依赖的表进行分组确保了夸库查询不会出现。
4)全局表
例如,我们经常用到的字典表。它会和很多表关联查询,也就会产生很多关联查询。mycat通过将该表进行冗余,也就是每个分片都复制一份以解决关联查询问题,也被称为全局表。
三、分片节点
将数据切分后(水平切分/垂直切分),一个大表被分到不同的数据库里面,每个分片所在的数据库就是分片节点。(这里注意,并不是一个数据库就是一个节点)
四、节点主机
分片节点会存在于一个节点主机中。但是分片节点和节点主机不是一对一关系,一个或者多个分片节点会存在于一个节点主机里面。节点主机和数据库实例也不是一对一关系,一个节点主机可能与一个或者多个数据库实例相关。
最新文章
- jQuery旋转木马仿3D效果的图片切换特效代码
- 大文件下载控件(down2)-示例更新-Xproer.HttpDownloader
- .Net Core 之 Ubuntu 14.04 部署过程
- 使用postMesssage()实现跨域iframe页面间的信息传递----转载
- OpenStack在线迁移
- Spring第十篇—举例实现AOP
- ASP.Net软件工程师基础(三)
- C# MongoDB--时区问题(差了8小时)
- 从浏览器启动应用程序 - Application URL
- 简单的实现树莓派的WEB控制
- 真与假与c#,java中的不同之处
- 运动框架实现思路(js)
- Swagger使用指南
- select2 下拉搜索控件
- java学习之成员内部类
- openstack swift 安装(单独对象存储服务)
- 章节七、5-Maps
- VS2010程序崩溃,报错Unhandled exception at **.exe:0xC0000005: Access violation reading location 0x000000008899.
- 大数据-Hive 常用命令
- Codeforces 757B. Bash's Big Day GCD