- 實現方式:按照日期來分片
- 優點:使數據按照日期來進行分時存儲
- 缺點:由於數據是連續的,所以該方案不能有效的利用資源
-
配置示例:
<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個分片。