全局 id生成对比

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

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

生成规则对比

类型 生成规则
递增ID 通常由数据库自增机制生成,每次递增1。
UUID 由32个十六进制字符组成,分为8-4-4-4-12五个部分。
雪花算法(Snowflake) 64位二进制数,分为1位符号位、41位时间戳、10位节点标识、12位序列号。
相关推荐
q***6977几秒前
集成RabbitMQ+MQ常用操作
分布式·rabbitmq
灰灰勇闯IT1 小时前
Flutter×鸿蒙深度融合指南:从跨端适配到分布式能力落地(2025最新实战)
分布式·flutter·harmonyos
BD_Marathon1 小时前
【Zookeeper】zk_客户端API_创建节点
分布式·zookeeper·云原生
BD_Marathon2 小时前
【Zookeeper】监听器原理
linux·分布式·zookeeper
无心水2 小时前
【分布式利器:分布式ID】5、UUID/GUID方案:无依赖实现,优缺点与场景选型
分布式·分库分表·uuid·分布式id·水平分库·分布式利器·guid
F***E2392 小时前
【分布式文件存储系统Minio】2024.12保姆级教程
分布式
i***71955 小时前
RabbitMQ 集群部署方案
分布式·rabbitmq·ruby
k***21605 小时前
RabbitMQ 客户端 连接、发送、接收处理消息
分布式·rabbitmq·ruby
g***B73814 小时前
后端在分布式中的服务配置
分布式
n***i9514 小时前
后端在分布式缓存中的一致性哈希
分布式·缓存·哈希算法