您的位置:首页 > 其它

Mycat 分片规则详解--日期范围 hash 分片

2018-02-23 14:32 811 查看
  • 实现方式:其思想和范围取模分片一样,由于日期取模会出现数据热点问题,所以先根据日期分组,再根据时间 hash 使得短期数据分布跟均匀。
  • 优点:避免扩容时的数据迁移,可以在一定程度上避免范围分片的热点问题
  • 缺点:要求日期格式尽量精确,不然达不到局部均匀的目的
  • 配置示例

    <tableRule name="sharding-by-range-date-hash">

    <rule>

    <columns>create_time</columns>

    <algorithm>sharding-by-range-date-hash</algorithm>

    </rule>

    </tableRule>

    <function name="sharding-by-range-date-hash"

    class="io.mycat.route.function.PartitionByRangeDateHash">

    <property name="dateFormat">yyyy-MM-dd HH:mm:ss</property>

    <property name="sBeginDate">2018-01-31 00:00:00</property>

    <property name="sPartionDay">3</property>

    <property name="groupPartionSize">6</property>

    </function>

  • 相关属性: [ul] dateFormat:日期格式,必须需要时间
  • sBeginDate:开始日期,于 dateFormat 格式一致
  • sPartionDay:代表多少天一组
  • groupPartionSize:每组的分片数量
[/ul]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: