全局 id生成对比

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

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

生成规则对比

类型 生成规则
递增ID 通常由数据库自增机制生成,每次递增1。
UUID 由32个十六进制字符组成,分为8-4-4-4-12五个部分。
雪花算法(Snowflake) 64位二进制数,分为1位符号位、41位时间戳、10位节点标识、12位序列号。
相关推荐
大厂技术总监下海13 分钟前
向量数据库“卷”向何方?从Milvus看“全功能、企业级”的未来
数据库·分布式·go·milvus·增强现实
Juicedata20 分钟前
仅两台缓存节点,如何支撑 1.45TB/s 大吞吐业务
人工智能·分布式·缓存
stillaliveQEJ22 分钟前
【项目实战】zookeeper+dubbo搭建分布式项目
spring boot·分布式·java-zookeeper
子非衣20 小时前
CenOS7安装RabbitMQ(含延迟队列插件)
分布式·rabbitmq·ruby
linweidong21 小时前
中科曙光Java后端开发面试题及参考答案
分布式·设计模式·spring mvc·tcp协议·三次握手·后端开发·java面经
rustfs1 天前
使用 RustFS和 Arq,打造 PC 数据安全备份之道
分布式·docker·云原生·rust·开源
后季暖1 天前
kafka原理详解
分布式·kafka
回家路上绕了弯1 天前
Seata分布式事务实战指南:从原理到微服务落地
分布式·后端
LDG_AGI1 天前
【机器学习】深度学习推荐系统(二十六):X 推荐算法多模型融合机制详解
人工智能·分布式·深度学习·算法·机器学习·推荐算法
利刃大大1 天前
【RabbitMQ】重试机制 && TTL && 死信队列
分布式·后端·消息队列·rabbitmq·队列