暂无图片
暂无图片
暂无图片
暂无图片
暂无图片
分布式 _ MyCat如何迁移到DBLE之分片算法对比解析:stringhash分片.pdf
8
4页
2次
2025-04-08
免费下载
MyCat如何迁移到DBLE之分片算法对比解析:stringhash分片
钟 悦 – 资深DBLE用户
某宇宙行资深架构师,在大型重点项目中使用 DBLE。
常年与 MySQL 纠缠不清,经常运用技术处理大企业病的技术or非技术问题的一个挨踢从业者。
当分片索引不是纯整型的字符串时,只接受整型的内置 hash 算法是无法使用的。为此,stringhash 按照用户定义的起
点和终点去截取分片索引字段中的部分字符,根据当中每个字符的二进制 unicode 值换算出一个长整型数值,然后就直
接调用内置 hash 算法求解分片路由:先求模得到逻辑分片号,再根据逻辑分片号直接映射到物理分片。
用户需要在 rule.xml 中定义 partitionLength[] 和 partitionCount[] 两个数组和 hashSlice 二元组。
在 DBLE 的启动阶段,点乘两个数组得到模数,也是逻辑分片的数量
并且根据两个数组的叉乘,得到各个逻辑分片到物理分片的映射表(物理分片数量由 partitionCount[] 数组的元素
值之和)
此外根据 hashSlice 二元组,约定把分片索引值中的第 4 字符到第 5 字符(字符串以 0 开始编号,编号 3 到编号 4
等于第 4 字符到第 5 字符)字符串用于 “字符串->整型”的转换
在 DBLE 的运行过程中,用户访问使用这个算法的表时,WHERE 子句中的分片索引值会被提取出来,取当中的第 4
个字符到第 5 字符,送入下一步
设置一个初始值为 0 的累计值,逐个取字符,把累计值乘以 31,再把这个字符的 unicode 值当成长整型加入到累计
值中,如此类推直至处理完截取出来的所有字符,此时的累计值就能够代表用户的分片索引值,完成了 “字符串->
整型” 的转换
对上一步的累计值进行求模,得到逻辑分片号
再根据逻辑分片号,查映射表,直接得到物理分片号
与MyCat的类似分片算法对比
中间件 DBLE MyCat
分片算法种类 stringhash 分区算法 截取数字 hash 解析
区别 分片数最大支持 2880 count 和length 两个向量的点乘积恒等于 1024
两种算法在string转化为int之后,和 hash 分区算法相同,区别也继承了 hash 算法的区别。
开发注意点
【分片索引】1. 必须是字符串
【分片索引】2. 最大物理分片配置方法是,让 partitionCount[] 数组和等于 2880
例如:
<property name="partitionLength">1</property>
<property name="partitionCount">2880</property>
<property name="partitionLength">1,1</property>
<property name="partitionCount">1440,1440</property>
【分片索引】3. 最小物理分片配置方法是,让 partitionCount[] 数组和等于 1
例如:
<property name="partitionLength">2880</property>
<property name="partitionCount">1</property>
【分片索引】4. partitionLengthpartitionCount 被当做两个逗号分隔的一维数组,它们之间的点乘必须在 [1,
2880] 范围内
【分片索引】5. partitionLengthpartitionCount 的配置对顺序敏感
<property name="partitionLength">512,256</property>
<property name="partitionCount">1,2</property>
<property name="partitionLength">256,512</property>
<property name="partitionCount">2,1</property>
是不同的分片结果
【分片索引】6. 分片索引字段长度小于用户指定的截取长度时,截取长度会安全减少到符合分片索引字段长度
【数据分布】1. 分片索引字段截取越长则越有利于数据均匀分布
of 4
免费下载
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文档的来源(墨天轮),文档链接,文档作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

关注
最新上传
暂无内容,敬请期待...
下载排行榜
Top250 周榜 月榜