从零开始java数据库篇(八):Mycat分库分表以及集群

目录

 

一:mycat的分库分表

二:垂直分库的join

1、情景

 2.修改分片规则 (conf/rule.xml)

3.添加源,片,表的映射

4.测试

5:全局字典类型的join表

三:单库水平分表

1、主表添加3个分表

2、修改规则(/conf/rule/xml)

3.映射到Mycat的虚表上

4.在Mycat中测试

四:异机多库水平分表

五:高可用Mycat集群


一:mycat的分库分表

  在上一节中我们讨论了Mycat的读写分离以及热切备,这里我们将要说的是Mycat对于分库分表的管理,主要涉及到的有Mycat的分库分表的配置以及规则以及分库Join和分表的查询规则。

二:垂直分库的join

1、情景

 现在我3306-m库的t_user和3306-n的t_service结构如下

 从零开始java数据库篇(八):Mycat分库分表以及集群_第1张图片

 从零开始java数据库篇(八):Mycat分库分表以及集群_第2张图片

2个库的建表语句


DROP TABLE IF EXISTS `t_user`;
CREATE TABLE `t_user` (
  `u_id` int(11) NOT NULL AUTO_INCREMENT,
  `u_name` varchar(50) DEFAULT NULL,
  `u_email` varchar(100) DEFAULT NULL,
  PRIMARY KEY (`u_id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;


DROP TABLE IF EXISTS `t_service`;
CREATE TABLE `t_service` (
  `s_id` int(11) NOT NULL AUTO_INCREMENT,
  `s_name` varchar(50) DEFAULT NULL,
  `s_uid` int(11) DEFAULT NULL,
  PRIMARY KEY (`s_id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;




 2.修改分片规则 (conf/rule.xml)

3.添加源,片,表的映射

从零开始java数据库篇(八):Mycat分库分表以及集群_第3张图片

4.测试

或者left join查询也是可以的哦

从零开始java数据库篇(八):Mycat分库分表以及集群_第4张图片

5:全局字典类型的join表

直接表配置

三:单库水平分表

1、主表添加3个分表

 从零开始java数据库篇(八):Mycat分库分表以及集群_第5张图片

2、修改规则(/conf/rule/xml)

分了几个表就写几

3.映射到Mycat的虚表上

从零开始java数据库篇(八):Mycat分库分表以及集群_第6张图片

4.在Mycat中测试

从零开始java数据库篇(八):Mycat分库分表以及集群_第7张图片从零开始java数据库篇(八):Mycat分库分表以及集群_第8张图片从零开始java数据库篇(八):Mycat分库分表以及集群_第9张图片

四:异机多库水平分表

  其他的都按照三来操作,只不过多添加了多个数据源:(/conf/schem.xml)图中的数据源形式复制即可

从零开始java数据库篇(八):Mycat分库分表以及集群_第10张图片

五:高可用Mycat集群

这里涉及到了为大缤纷运维知识,我这里直接提供一个Blog吧。

HaProxy+Keepalived+Mycat高可用集群配置

你可能感兴趣的:(数据库,从零开始)