mysql er分片_MyCat 学习笔记 第十篇.数据分片 之 ER分片

1 应用场景

这篇来说下mycat中自带的er关系分片,所谓er关系分片即可以理解为有关联关系表之间数据分片。类似于订单主表与订单详情表间的分片存储规则。

本文所说的er分片分为两种:

a. 依据主键进行数据分片,验证发现主表数据保存在第1个datanode中,子表数据根据分片规则存储。

b. 依据分片关键字段进行分片,验证发现主表与子表根据分片规则存储,且保存在相同的分片内。

接下来,可以下实际配置与数据验证

2 环境说明

3 参数配置

3.1 server.xml 配置

同上参考

3.2 schema.xml 配置

3.3 rule.xml 配置

sharding_long

func2

4

256

4 数据验证

4.1 方案a的验证

CREATE TABLE `t_er_parent_1` (

`pid` INT NOT NULL,

`pname` VARCHAR(45) NULL,

PRIMARY KEY (`pid`));

CREATE TABLE `t_er_child_1` (

`cid` INT NOT NULL,

`pid` INT NOT NULL,

`cname` VARCHAR(45) NULL,

PRIMARY KEY (`cid`));

insert into t_er_parent_1 (pid,pname) values (1,'parent 255');

insert into t_er_child_1(cid,pid,cname) values (1,255,'child 255');

insert into t_er_parent_1 (pid,pname) values (2,'parent 256');

insert into t_er_child_1(cid,pid,cname) values (2,256,'child 256');

insert into t_er_parent_1 (pid,pname) values (3,'parent 512');

insert into t_er_child_1(cid,pid,cname) values (3,512,'child 512');

insert into t_er_parent_1 (pid,pname) values (4,'parent 768');

insert into t_er_child_1(cid,pid,cname) values (4,768,'child 768');

mysql> select * from t_er_parent_1;

+-----+------------+

| pid | pname |

+-----+------------+

| 1 | parent 255 |

| 2 | parent 256 |

| 3 | parent 512 |

| 4 | parent 768 |

+-----+------------+

4 rows in set (0.01 sec)

mysql> select * from t_er_child_1;

+-----+-----+-----------+

| cid | pid | cname |

+-----+-----+-----------+

| 1 | 255 | child 255 |

| 4 | 768 | child 768 |

| 2 | 256 | child 256 |

| 3 | 512 | child 512 |

+-----+-----+-----------+

4 rows in set (0.01 sec)

看下方案a的日志 ,所有主表数据都进入了第1个数据结点dn4,不过子表数据进入dn7

01/28 21:44:25.559 DEBUG [$_NIOREACTOR-0-RW] (ServerQueryHandler.java:56) -ServerConnection [id=2, schema=R

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值