類別:教學
什麼是 UUID?了解唯一識別碼
UUID 無處不在 — 資料庫主鍵、API 請求、會話令牌。但它們究竟是什麼,什麼時候應該使用它們?
什麼是 UUID?
UUID(Universally Unique Identifier,通用唯一識別碼)是一個 128 位元的識別碼,保證在全球範圍內是唯一的。通常以 32 個十六進位數字加連字號表示:
550e8400-e29b-41d4-a716-446655440000
UUID 有 1-5 版本,其中版本 4(隨機生成)是最廣泛使用的。
UUID 用於什麼地方?
UUID 被廣泛用於需要在系統間不會衝突的唯一識別碼的場景。
- 資料庫主鍵 — 即使在分散式系統中 ID 也不會重複的設計
- 工作階段管理 — 使用者工作階段的唯一識別
- 檔案名稱生成 — 防止上傳檔案重複的唯一名稱
- 交易 ID — 付款和訂單處理的追蹤識別碼
- 微服務 — 服務間的請求追蹤
使用 UUID 的好處與必要性
雖然順序 ID(1, 2, 3...)更簡單,但 UUID 提供了重大優勢:
-
分散式系統:無需中央伺服器即可生成唯一 ID
-
安全性:與順序 ID 不同,無法猜測其他 ID
-
遷移:不同資料庫之間不會發生 ID 碰撞
-
微服務:在服務之間共享 ID 而不重複
-
接近零碰撞風險 — 即使每秒生成數百萬個,持續數千年
-
離線生成 — 無需網路連線即可建立唯一 ID
-
不可預測 — 不規則的值提供更好的安全性
-
標準化 — 透過 RFC 4122 進行國際標準化
如何生成 UUID
使用 本站的 UUID 產生器可以輕鬆生成 UUID。所有處理完全在您的瀏覽器中進行 — 資料永遠不會發送到外部伺服器。無需註冊,完全免費使用。
如何使用工具
- 開啟 UUID 產生器
- 指定要生成多少個 UUID
- 隨機 UUIDv4 值即時生成
- 複製生成的 UUID 以供使用
常見問題
Q. UUID 和 GUID 有什麼區別?
A. 它們本質上是同一個東西。UUID 是 RFC 4122 標準名稱,而 GUID 是 Microsoft 的術語。格式和生成方法完全相同。
Q. UUID 會碰撞嗎?
A. 理論上可能,但機率極低。UUIDv4 有大約 2^122 種可能的組合 — 生成 100 兆個 UUID 碰撞的機率仍不到十億分之一。
Q. 應該使用 UUID 作為資料庫主鍵嗎?
A. 視情況而定。對於分散式系統,UUID 是極好的選擇。對於單一資料庫,順序 ID 可能提供更好的索引效能。
相關術語
- UUID — 通用唯一識別碼,128 位元的全球唯一值
- GUID — 全域唯一識別碼,Microsoft 對 UUID 的稱呼
- UUIDv4 — 使用加密隨機數生成的 UUID 版本
- RFC 4122 — 定義 UUID 規範的國際標準