使用要求
拆分键的类型必须是 DATE / DATETIME / TIMESTAMP 其中之一。
DRDS 实例的版本必须是 5.1.28-1320920 及其以上的版本。DRDS 版本说明请参考文档版本说明。
优化点
相对于 YYYYWEEK,YYYYWEEK_OPT 随着时间线递增能够保持数据在各个 RDS 实例之间的均衡分布,效果与 YYYYMM_OPT 类似。
YYYYWEEK_OPT 的各个 RDS 实例之间的数据均衡性,有助于充分利用各个 RDS 实例的性能。
关于 YYYYWEEK 与 YYYYWEEK_OPT 的选择:
如果业务数据的时间按顺序逐渐增大的,并且各个时间点的数据量相差不大,那么适合用 YYYYWEEK_OPT 实现 RDS 实例之间的数据均衡;
如果业务数据的时间会比较跳跃,数据的时间点出现比较随机,那么适合用 YYYYWEEK。
路由方式
根据分库键的时间值的年份与一年的周数进行计算哈希值,然后再将哈希值按分库数去取余,完成路由计算。
分库分表键的哈希计算过程会根据 DRDS 之下的 RDS 实例的数目适当考虑 RDS 数据的均衡性。
使用场景
业务需要按年周进行分库分表。
希望 DRDS 的各个 RDS 实例的数据量保持相对均衡。
拆分键的时间呈顺序递增(即不是随机的)并且各个周的数据量相对平均的前提下(例如,每个周的流水日志,它随着周数不断增大,数据不会集中在同一个 RDS 上)。
注意事项
YYYYWEEK_OPT 不支持对于每一个年周都独立对应一张分表,YYYYWEEK_OPT 的分库分表必须固定分表数目
当周数经过一个轮回(如 2013 第 1 周是 2012 第一周的一个轮回)后,相同周数有可能被路由到同一个分库分表,视实际的分表数目而定。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。