全部产品
存储与CDN 数据库 安全 应用服务 数加·人工智能 数加·大数据基础服务 互联网中间件 视频服务 开发者工具 解决方案 物联网
分布式关系型数据库 DRDS

YYYYWEEK_OPT

更新时间:2017-07-27 17:46:09

使用要求

  • 拆分键的类型必须是 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 第一周的一个轮回)后,相同周数有可能被路由到同一个分库分表,视实际的分表数目而定。

本文导读目录