前言
在上一篇,详细了解了使用mycat进行数据库的垂直拆分和表的水平拆分,本篇在此基础上继续探讨mycat的常用分片规则。
什么是分片规则?
分片规则就是按照一定的规则(算法),将数据分散存储到多个物理节点上,从根本上来说,是为了解决单节点数据容量过大而引发的性能问题。
Mycat 常用分片规则
mycat提供了多种分片规则以供使用,常见的分片规则包括:
- 范围分片;
- 取模分片;
- 一致性hash分片;
- 枚举分片;
- 应用指定分片;
- 固定hash分片;
- 按天/月分片;
接下来就以上列举的常用的分片规则,结合实际案例做较为详细的探讨。
一、范围分片
在mycat的环境搭建一篇中,还记得下面这段配置吗,在这段配置中,table 标签中有过 rule的属性,这里配置的是 auto-sharding-long
<schema name="DB01" checkSQLschema="true" sqlMaxLimit="100" randomDataNode="dn1"><table name="TB_ORDER" dataNode="dn1,dn2,dn3" rule="auto-sharding-l