MyCat中间件学习与理解

MyCat中间件学习与理解

概念:

Mycat 是数据库中间件,就是介于数据库与应用之间,进行数据处理与交互的中间服
务。

由于前面讲的对数据进行分片处理之后,从原有的一个库,被切分为多个分片数据库,所有的分片数据库集群构成了整个完整的数据库存储。

在这里插入图片描述
如上图所表示,数据被分到多个分片数据库后,应用如果需要读取数据,就要需要处理多个数据源的数据。如果没有数据库中间件,那么应用将直接面对分片集群,数据源切换、事务处理、数据聚合都需要应用直接处理,原本该是专注于业务的应用,将会花大量的工作来处理分片后的问题,最重要的是每个应用处理将是完全的
重复造轮子。

所以有了数据库中间件,应用只需要集中与业务处理,大量的通用的数据聚合,事务,数据源切换都由中间件来处理,中间件的性能与处理能力将直接决定应用的读写性能,所以一款好的数据库中间件至关重要

组成:

1、逻辑库(schema):
2、逻辑表(table):
2.1逻辑表:
2.2分片表:
2.3非分片表:
2.4ER表
2.5全局表
3、分片节点(dataNode):

数据切分后,一个大表被分到不同的分片数据库上面,每个表分片所在的数据库就是分片节点

4、节点主机(dataHost):

数据切分后,每个分片节点(dataNode)不一定都会独占一台机器,同一机器上面可以有多个分片数据库,这样一个或多个分片节点(dataNode)所在的机器就是节点主机(dataHost),为了规避单节点主机并发数限制,尽量将读写压力高的分片节点(dataNode)均衡的放在不同的节点主机(dataHost)

5、全局序列号(sequence):

数据切分后,原有的关系数据库中的主键约束在分布式条件下将无法使用,因此需要引入外部机制保证数据唯一性标识,这种保证全局性的数据唯一标识的机制就是全局序列号(sequence)

环境安装与配置

1、MyCAT-Server 源码下载
https://github.com/MyCATApache/Mycat-Server

2、源码调试与配置
• MYCAT_HOME/conf/schema.xml 中定义逻辑库,表、分片节点等内容.

• MYCAT_HOME/conf/rule.xml 中定义分片规则.

• MYCAT_HOME/conf/server.xml 中定义用户以及系统相关变量,如端口等.

猜你喜欢

转载自blog.csdn.net/weixin_39248420/article/details/89102686