以下大部分内容非原创,整理自阿里云官方文档
DRDS 全局唯一数字序列(DRDS Sequence)(64 位数字,对应 MySQL 中 Signed BIGINT 类型)的主要目标是为了生成全局唯一和有序递增的数字序列,常用于主键列、唯一索引列等值的生成。 目前有三种类型的DRDS Sequence的生成规则
三种类型
Group Sequence(GROUP)
全局唯一的 Sequence,产生的值是自然数序列,但是 不保证连续和单调递增。如果未指定 Sequence 类型,DRDS 默认使用 Group Sequence。
Time-based Sequence(TIME)
基于时间戳 + 节点编号 + 序列号组合而成的一种 Sequence,保证全局唯一和 宏观自增(产生的序列不连续)。
Simple Sequence(SIMPLE)
支持自定义步长、最大值和循环/非循环利用。但每产生一个值都要进行一次持久化操作,性能不好。
总结:
大部分场景下建议选用Group Sequence,如果业务强依赖连续的Sequence,此时只能使用 Simple Sequence(注意性能问题),对于性能要求比较高时优先考虑使用 Time-based Sequence