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);


目录
相关文章
|
4天前
|
存储 算法 关系型数据库
Mycat【Mycat分片技术(水平拆分-分表、ER表、全局表)】(五)-全面详解(学习总结---从入门到深化)
Mycat【Mycat分片技术(水平拆分-分表、ER表、全局表)】(五)-全面详解(学习总结---从入门到深化)
62 0
|
4天前
|
算法 数据库
Mycat【Mycat分片规则(取模、分片枚举、范围约定)】(六)-全面详解(学习总结---从入门到深化)
Mycat【Mycat分片规则(取模、分片枚举、范围约定)】(六)-全面详解(学习总结---从入门到深化)
32 0
|
4天前
|
SQL 算法 Java
分库分表如何管理不同实例中几万张分片表?
分库分表如何管理不同实例中几万张分片表?
181 2
|
7月前
38MyCat - 分片规则(自然月分片)
38MyCat - 分片规则(自然月分片)
25 0
|
7月前
31MyCat - 分片规则(按日期分片)
31MyCat - 分片规则(按日期分片)
20 0
|
10月前
|
算法 Java 数据库连接
自定义水平分库分表的策略【精准分片】
自定义水平分库分表的策略【精准分片】
|
10月前
|
SQL 算法 Java
自定义水平分库分表策略【范围分片】
自定义水平分库分表策略【范围分片】
|
12月前
|
存储 JavaScript Java
亿级别大表拆分 —— 记一次分表工作的心路历程
亿级别大表拆分 —— 记一次分表工作的心路历程
|
算法
Mycat分表分库规则--待发文
Mycat分表分库规则--待发文
64 0
Mycat分表分库规则--待发文
|
存储 算法 关系型数据库
MyCat - 分片 - 水平拆分 - 分片配置及测试 | 学习笔记
快速学习 MyCat - 分片 - 水平拆分 - 分片配置及测试
109 0
MyCat - 分片 - 水平拆分 - 分片配置及测试 | 学习笔记