Mycat 分片规则详解--日期(天)分片

时间:2022-05-20 06:46:48
  • 实现方式:按照日期来分片
  • 优点:使数据按照日期来进行分时存储
  • 缺点:由于数据是连续的,所以该方案不能有效的利用资源
  • 配置示例

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

    <rule>

    <columns>create_time</columns>

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

    </rule>

    </tableRule>

    <function name="sharding-by-date" class="io.mycat.route.function.PartitionByDate">

    <property name="dateFormat">yyyy-MM-dd</property>

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

    <property name="sEndDate">2018-12-31</property>

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

    </function>

  • 相关属性:
    • dateFormat:日期格式
    • sBeginDate:开始日期
    • sEndDate:结束日期,如果配置了结束日期,则代码数据到达了这个日期的分片后,会重复从开始分片插入
    • sPartionDay:分区天数,默认值 10 ,从开始日期算起,每个10天一个分区

    注意:配置规则的表的 dataNode 的分片,必须和分片规则数量一致,例如 2018-01-31 到 2018-12-31 ,每2天一个分片,一共需要168个分片。