Mycat
一、mycat是什么?
1,一个用于mysql读写分离和数据切分的高可用中间件
2,一个模拟为mysql server的超级数据库代理
3,一个能平滑扩展支持1000亿大表的分布式数据库系统
4,一个可管控多种关系数据库的数据库路由器
发展历程:coba----mycat
二、mycat架构图
逻辑库(scheme):
逻辑表(table):
三、分库分表
垂直拆分:按字段(或业务)拆分,治标不治本。
水平拆分:按数据库条数拆分
拆分处理:1.客户端模式:每一个应用-----多个mysql库
2.中间件模式:多个应用---mycat---多个mysql库
四、mycat的安装
1.下载压缩包,解压
2.配置
1).rule.xml,按字段定义规则(自定义的java类或配置文件):数据库分库分表的规则
2).server.xml,配置mycat逻辑库的库名,用户名/密码
3).scheme.xml,多个库和表配置
<scheme name="mycat">
<table name='"employee" dataNode="dn1,dn2,dn3">
</scheme>
<dataNode name="dn1" dataHost="L1" dataBase="db1" ></dataNode>
<dataNode name="dn2" dataHost="L1" dataBase="db2" ></dataNode>
<dataNode name="dn3" dataHost="L1" dataBase="db3" ></dataNode>
<dataHost name="L1" dbType="mysql">
<heartbeat>select user()</heartbeat>
<writeHost></writeHost>
</dataHost>
3.conf/partion-hash-int.txt
10000=0
10010=1
10020=2
4.启动 bin/mycat start/stop
mycat默认端口8066