美文网首页
mycat分片(枚举分片)

mycat分片(枚举分片)

作者: agang_19 | 来源:发表于2020-07-19 22:15 被阅读0次

分片枚举

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

conf/schema.xml

image.png

准备数据

CREATE TABLE database1.`sharding-by-intfile` (
  `database` varchar(255) COLLATE utf8mb4_general_ci DEFAULT NULL,
  `user_id` int DEFAULT NULL,
  `location` varchar(255) COLLATE utf8mb4_general_ci DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

CREATE TABLE database2.`sharding-by-intfile` (
  `database` varchar(255) COLLATE utf8mb4_general_ci DEFAULT NULL,
  `user_id` int DEFAULT NULL,
  `location` varchar(255) COLLATE utf8mb4_general_ci DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

CREATE TABLE database3.`sharding-by-intfile` (
  `database` varchar(255) COLLATE utf8mb4_general_ci DEFAULT NULL,
  `user_id` int DEFAULT NULL,
  `location` varchar(255) COLLATE utf8mb4_general_ci DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

conf/rule.xml

        <tableRule name="sharding-by-intfile">  
                <rule>
                        <columns>location</columns>    //分片字段
                        <algorithm>hash-int</algorithm>   //分片函数
                </rule>
        </tableRule>

        <function name="hash-int"
                class="io.mycat.route.function.PartitionByFileMap">  
                <property name="mapFile">partition-hash-int.txt</property> //配置文件名称
                <property name="type">1</property> //   默认值为 0,0 表示 Integer,非零表示 String
                <property name="defaultNode">2</property> //默认分片节点,匹配不到的时候分配到这个节点
        </function>

vim conf/partition-hash-int.txt

fuzhou=0
shanghai=1
beijing=2

报错是由于mycat的分片类型,int类型或string字段串类型,设置错误,刚开始配置rule.xml中type为0,但是插入数据为字符串

image.png

实验,插入数据,同时进行查询,查看是否正确分片


image.png

相关文章

  • mycat分片(枚举分片)

    分片枚举 通过在配置文件中配置可能的枚举 id,自己配置分片,本规则适用于特定的场景,比如有些业务需要按照省份或区...

  • mycat分片

    1. 修改配置文件 (1) 修改schema.xml, 具体的配置文件如下: table对应具体的物理表,data...

  • enum -> PartitionByFileMap

    根据用户定义的枚举值与分片节点映射文件,直接定位目标分片。 用户在rule.xml中配置枚举值文件路径和分片索引是...

  • MyCAT实现分片

    1.1 Mycat分片 1.1.1 需求 把商品表分片存储到三个数据节点上。 1.1.2 安装环境 mysql节点...

  • 49 mycat分片集群mysql分片分表策略

    1、数据库集群如何保证自动增长唯一性2、数据库分表分库策略3、MyCat分片集群策略4、MyCat分片策略原理 M...

  • mycat分片(固定分片hash算法)

    实现方式: 该算法类似于十进制的求模运算,但是为二进制的操作,例如,取 id 的二进制低 10 位 与 11111...

  • Mycat 分片规则

    概述 在数据切分处理中,特别是水平切分中,中间件最终要的两个处理过程就是数据的切分、数据的聚合。选择合适的切分规则...

  • mycat分片规则

    1:分片规则配置文件rule.xml 介绍 PS: 配置文件都沿用上一篇mycat入门配置 1.1 Funcati...

  • MyCat配置文件详解(二):schema.xml代码详细解读!

    schema.xml 作为MyCat中最重要的配置文件之一 , 涵盖了MyCat的逻辑库 、 表 、 分片规则、分...

  • ShardingSphere官网及总结

    中文文档 分片 分片算法 精确分片算法 范围分片算法 复合分片算法 Hint分片算法 分片策略 标准分片策略 复合...

网友评论

      本文标题:mycat分片(枚举分片)

      本文链接:https://www.haomeiwen.com/subject/fotdkktx.html