mycat核心概念

一、逻辑库(schema)

业务人员一般是不需要知道数据库中间件的,他们只需要连接到数据库并使用数据库,一切复杂的细节都被中间件给隐藏了,对于业务人员来说中间件即是一个数据库。这里逻辑库的概念就是一个或者多个数据库集群构成的逻辑库。其实我们可以简单地理解为:mycat这样的中间件就是一个逻辑库

 

二、逻辑表(table)

既然集群的数据库能够构造一个逻辑库,那么数据表也一样可以分布在不同的数据库里面,但是对于业务人员来说,逻辑上却是同一张表。

注意:逻辑表可以分片,也可以不分片。也就是说它可以分布在多个数据库里面,也可以只存在于一个数据库里面。

逻辑表分为四种:

1)分片表

2)非分片表

上面两种即是分片和非分片表,那么ER表是什么呢?

3)ER表

ER(entity relationship model)实体关系模型,其实我们可以理解为数据库表之间是存在关系的。但如果表分布在不同的数据库里面,我们的join操作就会出现夸库查询,这将会影响性能。而ER表,将依赖的表进行分组确保了夸库查询不会出现。

4)全局表

例如,我们经常用到的字典表。它会和很多表关联查询,也就会产生很多关联查询。mycat通过将该表进行冗余,也就是每个分片都复制一份以解决关联查询问题,也被称为全局表。

 

三、分片节点

将数据切分后(水平切分/垂直切分),一个大表被分到不同的数据库里面,每个分片所在的数据库就是分片节点。(这里注意,并不是一个数据库就是一个节点)

 

四、节点主机

分片节点会存在于一个节点主机中。但是分片节点和节点主机不是一对一关系,一个或者多个分片节点会存在于一个节点主机里面。节点主机和数据库实例也不是一对一关系,一个节点主机可能与一个或者多个数据库实例相关。

posted @ 2018-05-13 01:11  __lay  阅读(265)  评论(0编辑  收藏  举报