网上商城项目总结(四)集群中间件MyCAT

MyCAT、常用于代替昂贵的oracle的MySQL集群中间件。

MyCAT介绍:

开源的面向企业应用开发的“大数据集群”;支持事务、ACID、可以代替MySQL的加强版数据库;解决数据库存储和业务规模迅速增长的数据瓶颈问题。

MyCAT特点:

自动故障切换、高可用性。

支持读写分离,支持MySQL双主多从、以及一主多从的模式。

支持全局表,数据自动分片到多个节点,用于高效表关联查询。

支持独有的基于E-R关系的分片策略,实现高效的表关联查询。

多平台支持,部署和实施简单。

MyCAT分片策略:

MyCAT通过定义表的分片规则实现分片。每个表可以捆绑一个分片规则,每个分片规则指定一个分片片段并绑定一个函数,实现动态分片算法。支持水平分片(一个表格的数据分割到多个节点上,按行分割)、垂直分片(一个数据库中多个表,A、B、C表,分别放在不同的节点上)。因为MyCAT使用MySQL的通讯协议模拟成了一个MySQL服务器,只要配置好配置文件,我们可以把MyCAT当做一个加强版的MySQL使用。

网上商城项目总结(四)集群中间件MyCAT

schema:逻辑库,相当于MySQL中的database;

table:表,即物理数据库存储的某一张表。需要配置所存储的逻辑数据节点DataNode,在此可指定分片规则。(例:自动分片规则auto-sharding-long,id范围0-500万,500-1000万……分配在一个数据库中)

DataNode:MyCAT的逻辑数据节点,存放table的具体物理节点(分配节点)。通过DataSource关联后端某个具体的数据库上。

MyCAT主从模式:

对于大型系统或访问量很高的互联网应用,数据库的读写分离必不可少。

MyCAT配置文件中,一个写节点master后跟多个读节点,读节点的配置数量取决于系统的压力,通常设置1-3个。

网上商城项目总结(四)集群中间件MyCAT

主从配置时注意:

①、主、从数据库版本需要一致。

②、主、从数据库数据一致。

③、主数据库开启二进制日志,主、从服务器的server_id都必须唯一(一般取ip最后一位即可)。