【二】MyCAT主要作用、读写分离、负载均衡、垂直切分、水平切分概述

主要作用:

1作为分布式数据库中间层使用

MyCAT由Java开发,理论上说所有可以使用JDBC连接的关系型数据库和非关系型数据库都能使用MyCAT。

2.对主从数据库的读写分离、读的负载均衡

如果不用MyCAT,在每一个访问这套数据库的应用中都要实现读写分离的逻辑。

如果MySQL是一主多从,主卦了,MyCAT会选一个从来读写,但是其他从不会同步新主的数据。

所以MySQL是一主多从要做高可用建议使用MHA之类的主从复制管理工具。

3.对业务数据进行垂直切分、写的负载均衡

把原来保存到同一个DB中的表,按照业务模块拆分到多个DB中

比如,订单/仓配、用户、商品的表都在a数据库中,现在把订单/仓配放到a数据库中,把用户放到b数据库中,把商品放到c数据库中。

MyCAT的逻辑库功能,会把3组不同的数据库虚拟成一个数据库,还保持原来的a名字不变。这可以最大限度的减少对已经存在的应用的修改。

4.对业务数据库进行水平切分、写的负载均衡

在垂直切分的基础上,再把a数据库中订单/仓配进行水平切分。F(c)=1放在order01库,F(c)=2放在order02库,F(c)=3库放在order03。

F函数代表切分规则,c代表指定切分的列,c是要进行水平切分的表中的某一列,通常是主键。

这一整套的切分逻辑在引入MyCAT后就由MyCAT来实现了,不用在每一个应用中单独实现。

5.控制数据库接连的数量

MyCAT中可以建立公共连接池,供不同应用使用,从而有效控制数据库连接的数量。

猜你喜欢

转载自blog.csdn.net/jy02268879/article/details/81508513