全局 id生成对比

对比 数据库自增 id、UUID、雪花算法的一些利弊:

特性 递增ID UUID 雪花算法
唯一性 递增,唯一性仅在同一数据库中保证 全局唯一 全局唯一
排序性 递增,可以按时间顺序排序 随机,不具备排序特性 按时间有序
存储空间 较小 较大 较小
可读性 易读 不易读 可读,包含时间信息
生成算法复杂性 简单 相对较简单 相对简单,依赖于时间和节点标识
性能 相对较高
可调整性 有限 有限 可根据需求调整节点位数、序列位数
时间依赖性 受数据库自增机制限制 受系统时间限制
应用场景 数据库主键、顺序存储、分片键 全局唯一标识、分布式系统 分布式系统、分片键

生成规则对比

类型 生成规则
递增ID 通常由数据库自增机制生成,每次递增1。
UUID 由32个十六进制字符组成,分为8-4-4-4-12五个部分。
雪花算法(Snowflake) 64位二进制数,分为1位符号位、41位时间戳、10位节点标识、12位序列号。
相关推荐
身如柳絮随风扬7 小时前
多数据源切换实战:从业务场景到3种实现方案全解析
java·分布式·微服务
AIMath~8 小时前
雪花算法+ZooKeeper解决方案+RPC是什么
分布式·zookeeper·云原生
KmSH8umpK9 小时前
Redis分布式锁从原生手写到Redisson高阶落地,附线上死锁复盘优化方案进阶第六篇
数据库·redis·分布式
空中海10 小时前
Kafka :存储、复制与可靠性
分布式·kafka·linq
渣渣盟10 小时前
构建企业级实时数据管道:Kafka + Flink 最佳实践
分布式·flink·kafka
KmSH8umpK11 小时前
Redis分布式锁从原生手写到Redisson高阶落地,附线上死锁复盘优化方案进阶第四篇
数据库·redis·分布式
KmSH8umpK12 小时前
Redis分布式锁从原生手写到Redisson高阶落地,附线上死锁复盘优化方案进阶第五篇
数据库·redis·分布式
卧室小白13 小时前
ceph-分布式存储
分布式
aXin_ya13 小时前
微服务第九天 分布式缓存(Redis)
分布式·缓存·微服务
空中海13 小时前
Kafka 基础:从消息队列到事件流平台
分布式·kafka·linq