37MyCat - 分片规则(按单月小时拆分)

简介: 37MyCat - 分片规则(按单月小时拆分)

此规则是单月内按照小时拆分,最小粒度是小时,可以一天最多24个分片,最少1个分片,一个月完后下月从头开始循环。每个月月尾,需要手工清理数据。

<tableRule name="sharding-by-hour">
   <rule>
     <columns>create_time</columns>
     <algorithm>sharding-by-hour</algorithm>
   </rule>
 </tableRule>
<function name="sharding-by-hour" class="org.opencloudb.route.function.LatestMonthPartion">
   <property name="splitOneDay">24</property> 
 </function>

配置说明:

columns: 拆分字段,字符串类型(yyyymmddHH)splitOneDay : 一天切分的分片数

LatestMonthPartion partion = new LatestMonthPartion();
 partion.setSplitOneDay(24);
 Integer val = partion.calculate("2015020100");
 assertTrue(val == 0);
 val = partion.calculate("2015020216");
 assertTrue(val == 40);
 val = partion.calculate("2015022823");
 assertTrue(val == 27 * 24 + 23);
 Integer[] span = partion.calculateRange("2015020100", "2015022823");
 assertTrue(span.length == 27 * 24 + 23 + 1);
 assertTrue(span[0] == 0 && span[span.length - 1] == 27 * 24 + 23);
 span = partion.calculateRange("2015020100", "2015020123");
 assertTrue(span.length == 24);
 assertTrue(span[0] == 0 && span[span.length - 1] == 23);


目录
相关文章
|
存储 SQL 缓存
27MyCat - 分片规则
27MyCat - 分片规则
52 0
|
8月前
|
SQL 算法 Java
分库分表如何管理不同实例中几万张分片表?
分库分表如何管理不同实例中几万张分片表?
215 2
|
8月前
|
运维 负载均衡 关系型数据库
Mycat【Mycat分片规则(按日期(天)分片、全局序列)、Mycat高可用(Mycat高可用概述)】(七)-全面详解(学习总结---从入门到深化)
Mycat【Mycat分片规则(按日期(天)分片、全局序列)、Mycat高可用(Mycat高可用概述)】(七)-全面详解(学习总结---从入门到深化)
191 0
31MyCat - 分片规则(按日期分片)
31MyCat - 分片规则(按日期分片)
64 0
38MyCat - 分片规则(自然月分片)
38MyCat - 分片规则(自然月分片)
79 0
30MyCat - 分片规则(求模)
30MyCat - 分片规则(求模)
35 0
34MyCat - 分片规则(应用指定)
34MyCat - 分片规则(应用指定)
70 0
|
算法
29MyCat - 分片规则(固定分片hash算法)
29MyCat - 分片规则(固定分片hash算法)
60 0
32MyCat - 分片规则(取模范围约束)
32MyCat - 分片规则(取模范围约束)
43 0
|
算法
Mycat分表分库规则--待发文
Mycat分表分库规则--待发文
94 0
Mycat分表分库规则--待发文