分布式 | MyCat如何迁移到DBLE之分片算法对比解析:numberrange分片
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 原创: 钟悦 关于作者 钟悦 - 资深DBLE用户 某宇宙行资深架构师,在大型重点项目中使用 DBLE。 常年与 MySQL 纠缠不清,经常运用技术处理大企业病的技术or非技术问题的一个挨踢从业者。 根据用户定义的范围与分片节点映射文件,直接定位目标分片。 1. 用户在 rule.xml 中配置范围定义文件路径,文件中定义的各个范围被加载到内存中,形成一个映射表 2. 在 DBLE 的运行过程中,用户访问使用这个算法的表时,WHERE 子句中的分片索引值会被提取出来,直接查映射表得到分片编号 与MyCat的类似分片算法对比 中间件 DBLE MyCat 分片算法种类 numberrange 分区算法 范围约定 区别 写具体的数值 可用K或M等数量替换付 K=1000 , M=10000 开发注意点 【分片索引】1. 整型数字(可以为负数),取值范围是长整型 【分片索引】2. 范围包含其起点和终点,例如,范围 1-100 包含 1 和 100(即 [1, 100]) 【分片索引】3. 如果范围与范围之间存在重叠(例如 1-100 和 100-200 重叠于 100),不会引起异常,会命中在范围配置文件mapFile中最先出现的那一个并按其执行 【分片索引】4. 不同范围可以映射到同一个分片上 0 - 99 = 0