微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

mycat核心配置详解rule.xml配置,以及常用分片算法

用来配置水平切分,以及水平切分规则

image.png


image.png

        name:取名要唯一,最好能通过名字进行描述。

        columns:是分片列,必须是表中存在的列,mycat根据这个列计算,确定当前数据要存放在哪个分片,每一个要分片的表都要定义一个分片列,分片列的选择关系到日后的查询性能查询逻辑

        algorithm:指定表的分片算法,取<function>的name属性

image.png

        function的name同样要在整个配置文件中是唯一的,并具有一定象征意义的

        class属性是实现分片算法的java类的全名,也就是路径

        count代表分片节点数的总和,这里的意思是将表分成四份




分片算法:

        

image.png

        

image.png

                简单取模

                哈希取模是对分片列进行哈希后取模

                分片枚举是根据某项枚举值进行分片(比如异地生活,根据不同地区id把数据分别存储在不同的片上,使用mycat进行数据路由)

                字符串范围取模分片:比如根据很长的字符串的前几位来分片


        

image.png

        

image.png



        

image.png

        

image.png



        简单取模、哈希无法认为决定数据分片,枚举分片可以:

        

image.png


        

image.png

        mapFile指定文件名,创建到config目录下

        type:

                0.整数型

                非0.字符串

        defaultNode:

                >=0.启用认节点

                <0.不启用认节点

        

image.png



        有时候要截取分片列特定长度字符作为分片依据,如订单号后五位、姓名前缀:

        

image.png

        

image.png

        

image.png

        

image.png

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐