从零开始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结构如下

 

 

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.添加源,片,表的映射

4.测试

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

5:全局字典类型的join表

直接表配置

<table name="company" primaryKey="ID" type="global" dataNode="dn1,dn2,dn3" />

三:单库水平分表

1、主表添加3个分表

 

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

分了几个表就写几

3.映射到Mycat的虚表上

4.在Mycat中测试

四:异机多库水平分表

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

五:高可用Mycat集群

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值