首页 / 百科 / UUID

UUID

开发

通用唯一识别码(RFC 9562)

UUID 是 128 位标识符的标准格式(RFC 9562,2024,取代 RFC 4122),表现为 8-4-4-4-12 的十六进制串,版本 4(随机)与版本 7(时间有序)是目前最常用的两种。

标准与版本

UUID 源自 Apollo NCS(1980s),经 OSF DCE 推广,RFC 4122(2005)确立为 IETF 标准,2024 年 RFC 9562 更新并新增 v6/v7/v8。常见版本:v1(MAC 地址 + 时间戳,泄露主机信息)、v4(122 位随机,最常用,碰撞概率可忽略)、v7(Unix 毫秒时间戳 + 随机,2024 新增,兼顾有序性与随机性,适合数据库主键)。

碰撞概率直观感受

122 位随机空间约 5.3×10^36。每秒生成 10 亿个 UUID 持续 100 年,出现一次碰撞的概率约为十亿分之一——工程上把 UUID v4 当"全局唯一"使用是安全的。

与自增 ID 的取舍

UUID 可离线生成、不暴露业务量、利于分库分表;代价是 16 字节比 4/8 字节自增大、无序 v4 在 B+ 树中写放大明显(v7 专为解决此问题设计)。对外暴露的资源标识用 UUID、内部排序与关联用自增/雪花 ID 是常见折中。

相关工具

相关词条