rule.xml 里面就定義了我們對表進行拆分所涉及到的規(guī)則定義烂叔。我們可以靈活的對表使用不同的分片算法,或者對表使用相同的算法但具體的參數不同铲咨。這個文件里面主要有 tableRule 和 function 這兩個標簽躲胳。在具體使用過程中可以按照需求添加 tableRule 和 function。
1.tableRule 標簽
這個標簽定義表規(guī)則纤勒。
<tableRule name="rule1">
<rule>
<columns>id</columns>
<algorithm>func1</algorithm>
</rule>
</tableRule>
name 屬性指定唯一的名字坯苹,用于標識不同的表規(guī)則
內嵌的 rule 標簽則指定對物理表中的哪一列進行拆分和使用什么路由算法。
columns 內指定要拆分的列名字摇天。
algorithm 使用 function 標簽中的 name 屬性粹湃。連接表規(guī)則和具體路由算法恐仑。當然,多個表規(guī)則可以連接到同一個路由算法上为鳄。 table 標簽內使用裳仆。讓邏輯表使用這個規(guī)則進行分片。
2.function 標簽
<function name="hash-int" class="org.opencloudb.route.function.PartitionByFileMap">
<property name="mapFile">partition-hash-int.txt</property>
</function>
name 指定算法的名字孤钦。
class 制定路由算法具體的類名字鉴逞。
property 為具體算法需要用到的一些屬性。
路由算法的配置可以查看算法章節(jié)司训。
本文摘抄于:mycat用戶指南