28MyCat - 分片规则(分片枚举)

简介: 28MyCat - 分片规则(分片枚举)

通过在配置文件中配置可能的枚举id,自己配置分片,本规则适用于特定的场景,比如有些业务需要按照省份或区县来做保存,而全国省份区县固定的,这类业务使用本条规则,配置如下:

<tableRule name="sharding-by-intfile">
   <rule>
     <columns>user_id</columns>
     <algorithm>hash-int</algorithm>
   </rule>
 </tableRule>
<function name="hash-int" class="org.opencloudb.route.function.PartitionByFileMap">
   <property name="mapFile">partition-hash-int.txt</property>
   <property name="type">0</property>
   <property name="defaultNode">0</property>
 </function>

partition-hash-int.txt 配置:

10000=0
10010=1
DEFAULT_NODE=1

上面columns 标识将要分片的表字段,algorithm 分片函数,其中分片函数配置中,mapFile标识配置文件名称,type默认值为0,0表示Integer,非零表示String,所有的节点配置都是从0开始,及0代表节点1。

/**
* defaultNode 默认节点:小于0表示不设置默认节点,大于等于0表示设置默认节点
* 默认节点的作用:枚举分片时,如果碰到不识别的枚举值,就让它路由到默认节点
* 如果不配置默认节点(defaultNode值小于0表示不配置默认节点),碰到
* 不识别的枚举值就会报错,
* like this:can’t find datanode for sharding column:column_name val:ffffffff
*/


目录
相关文章
|
存储 SQL 缓存
27MyCat - 分片规则
27MyCat - 分片规则
43 0
31MyCat - 分片规则(按日期分片)
31MyCat - 分片规则(按日期分片)
48 0
34MyCat - 分片规则(应用指定)
34MyCat - 分片规则(应用指定)
59 0
35MyCat - 分片规则(字符串hash解析)
35MyCat - 分片规则(字符串hash解析)
81 0
32MyCat - 分片规则(取模范围约束)
32MyCat - 分片规则(取模范围约束)
35 0
38MyCat - 分片规则(自然月分片)
38MyCat - 分片规则(自然月分片)
56 0
30MyCat - 分片规则(求模)
30MyCat - 分片规则(求模)
23 0
|
算法
29MyCat - 分片规则(固定分片hash算法)
29MyCat - 分片规则(固定分片hash算法)
51 0
|
数据处理 数据库
08MyCat - 概念 - 分片节点、分片规则、全局序列号
08MyCat - 概念 - 分片节点、分片规则、全局序列号
53 0
36MyCat - 分片规则(一致性hash)
36MyCat - 分片规则(一致性hash)
55 0