一 简介:今天咱们来进行测试
二分片规则 auto-sharding-rang-mod
1 table 相关配置
<tableRule name="auto-sharding-rang-mod">
<rule>
<columns>id</columns>
<algorithm>rang-mod</algorithm>
</rule>
</tableRule>-
2 function 相关配置
<function name="rang-mod" class="io.mycat.route.function.PartitionByRangeMod">
<property name="mapFile">partition-range-mod.txt</property>
</function>
3 属性解析
mapfile partition-range-mod.txt
配置
# range start-end ,data node group size
0-200M=5
200M1-400M=1
400M1-600M=4
600M1-800M=4
800M1-1000M=6
=号后面的数字代表该分片组所拥有的分片的数量。
4 个人理解
此分片节点和前面的不太一样,代表的是分片节点的数量.在节点组内部,经过我的测试,这两个节点的数据分部是循环依次的,分配很平均,要确保你最后配置的逻辑节点等于这里面配置的节点总和
5 测试
1 配置相关测试表
<table name="user" primaryKey="id" dataNode="db1,db2" rule="sharding-by-murmur" />
2 建立相关表
3 relod @@config;
4 进行测试
1 建立相关表
CREATE TABLE ddd(
`id` int(11) NOT NULL,
`create_time` datetime DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
2 进行schema配置
<table name="ddd" primaryKey="id" dataNode="db1,db2" rule="auto-sharding-rang-mod" />
3 修改配置
# range start-end ,data node group size
0-200M=2 200W的数据平均分配在前2个节点
reload @@conifg
4 进行插入测试即可