mycat之rule.xml

本文详细解析了Sharding中rule.xml文件的配置方法,包括tableRule和function标签的使用,阐述了如何通过这些标签定义表规则和路由算法,实现数据库表的灵活拆分。

rule.xml里面就定义了我们对表进行拆分所涉及到的规则定义。我们可以灵活的对表使用不同的分片算法,或者对表使用相同的
算法但具体的参数不同。这个文件里面主要有tableRule和function这两个标签。在具体使用过程中可以按照需求添加tableRule
和function。

tableRule标签

这个标签定义表规则。
定义的表规则,在schema.xml:

<tableRule name="rule1">
    <rule>
        <columns>id</columns>
        <algorithm>func1</algorithm>
    </rule>
</tableRule>
  • name 属性指定唯一的名字,用于标识不同的表规则。
  • 内嵌的rule标签则指定对物理表中的哪一列进行拆分和使用什么路由算法。
  • columns 内指定要拆分的列名字。
  • algorithm 使用function标签中的name属性。连接表规则和具体路由算法。当然,多个表规则可以连接到同一个路由算法上。标签内使用。让逻辑表使用这个规则进行分片。

function标签

<function name="hash-int" class="org.opencloudb.route.function.PartitionByFileMap">
    <property name="mapFile">partition-hash-int.txt</property>
</function>
  • name 指定算法的名字。
  • class 制定路由算法具体的类名字。
  • property 为具体算法需要用到的一些属性。

--------------------- 


原文:https://blog.youkuaiyun.com/leipeng321123/article/details/50402952 
版权声明:本文为博主原创文章,转载请附上博文链接!

Exception in thread "main" java.lang.ExceptionInInitializerError at io.mycat.MycatStartup.main(MycatStartup.java:53) Caused by: io.mycat.config.util.ConfigException: java.lang.RuntimeException: error,check your partitionScope definition. at io.mycat.config.loader.xml.XMLRuleLoader.load(XMLRuleLoader.java:95) at io.mycat.config.loader.xml.XMLRuleLoader.<init>(XMLRuleLoader.java:64) at io.mycat.config.loader.xml.XMLSchemaLoader.<init>(XMLSchemaLoader.java:74) at io.mycat.config.loader.xml.XMLSchemaLoader.<init>(XMLSchemaLoader.java:87) at io.mycat.config.ConfigInitializer.<init>(ConfigInitializer.java:74) at io.mycat.config.MycatConfig.<init>(MycatConfig.java:72) at io.mycat.MycatServer.<init>(MycatServer.java:144) at io.mycat.MycatServer.<clinit>(MycatServer.java:96) ... 1 more Caused by: java.lang.RuntimeException: error,check your partitionScope definition. at io.mycat.route.util.PartitionUtil.<init>(PartitionUtil.java:69) at io.mycat.route.function.PartitionByString.init(PartitionByString.java:99) at io.mycat.config.loader.xml.XMLRuleLoader.loadFunctions(XMLRuleLoader.java:209) at io.mycat.config.loader.xml.XMLRuleLoader.load(XMLRuleLoader.java:89) ... 8 more <tableRule name="table_prefix_rule"> <rule> <columns>table_prefix</columns> <!-- 分片键为表名前缀 --> <algorithm>str_hash</algorithm> </rule> </tableRule> <function name="str_hash" class="io.mycat.route.function.PartitionByString"> <property name="partitionCount">3</property> <!-- 分库数量 --> <property name="partitionLength">3</property> </function>
最新发布
09-09
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值