MYCAT10种常见分片规则之三 — PartitionByPrefixPattern(字符串范围取模分片)
一、使用场景
可以根据指定字符串的前N个字符确定存储的位置,针对非纯数字进行的分片场景。
二、使用说明
1.$MYCAT/conf 目录下增加MapFile配置枚举值同节点的对应关系。
2.类全名:io.mycat.route.funcation.PartitionByPrefixPattern
示意图如下:
<funcation name="sharding-by-prefix-pattern"
class="io.mycat.route.funcation.PartitionByPrefixPattern">
<property name="patternValue">128</property>
<property name="prefixLength">2</property>
<property name="mapFile">prefix-partition-pattern.txt</property>
</function>
解释:
-> 第三列,patternValue,取模的基数,这里是128
-> 第四列,prefixLength,表示取头几个参数进行取模的依据,这里2代表取前面2个字符
-> 第五列,配置文件的文件名取模范围和相关的数据节点索引对应的关系,每行数据对应的存放位置
其中:prefix-partition-pattern.txt的内容如下
0-63=0
64-127=1