首页
/
每日頭條
/
生活
/
不重複的id算法
不重複的id算法
更新时间:2026-06-02 06:48:48

生成唯一 ID 的可能方法?

不重複的id算法(生成唯一ID的可能方法)1

創建唯一 id 的不同方法:

自增ID

與 GUID 相比,自增Id 往往占用更少的空間更容易索引。它是一個很好的聚集索引,随着新記錄的有序保存,碎片更少,這更容易連接表。如果我們使用數據庫提供的自動生成的增量 id,那麼查詢和查找數據會變得更快,因為是有序的。但是這種方法可能不是最适合分布式系統,因為 2 個數據庫可以生成相同的 id,存在ID碰撞。

GUID

GUID 的唯一性取決于用于生成它的算法。

GUID 會重複嗎?

GUID 是一個128 位整數(16 個字節),可以在需要唯一标識符的所有計算機和網絡中使用。

GUID 隻是微軟對 UUID 的實現,UUID/GUID 的問題是尺寸比較大,所以索引不好。因此查詢性能會受到影響。

MongoDB 的ObjectId

Objectid 的長度為 12 字節,由以下部分組成:

  • 以秒為單位的 4 字節的時間戳,
  • 一個 3 字節的機器标識符,
  • 一個 2 字節的進程 ID,以及
  • 一個 3 字節的計數器,從一個随機值開始。

與類似 sql 的數據庫的自增ID相比,它的長度仍然更長。

數據庫唯一ID

這種方法使用一個額外的數據庫,其主要目的是創建唯一的 id,調用集中數據庫創建一個唯一的id。這種方法的問題是我們需要一個額外的數據庫,并且性能受限數據庫的性能,

Twitter雪花

Snowflake 是一種算法服務,可大規模生成唯一 ID 号,并提供一些簡單的保證。ID 為 64 位長。

id 由以下部分組成:

  • 時間 — 41 位
  • 配置的機器 id — 10 位 — 最多 1024 台機器
  • 序列号 — 12 位

ID 緊湊而簡短(與 GUID 和 ObjectId 相比),且有序的。

補充:也可以了解百度 美團的分布式ID算法實現,大同小異;同時也可以基于雪花自定義擴展等

結論

在需要唯一ID的情況下,首先要弄清楚的是想要的數據庫架構類型——分布式/分片或單一數據庫。

,
Comments
Welcome to tft每日頭條 comments! Please keep conversations courteous and on-topic. To fosterproductive and respectful conversations, you may see comments from our Community Managers.
Sign up to post
Sort by
Show More Comments
推荐阅读
如何區别普洱生茶熟茶
如何區别普洱生茶熟茶
養茗寶和你一起學好普洱茶、喝好普洱茶、養好普洱茶。"生茶"&"熟茶"以前都隻有生茶,從1973年出現熟茶發酵工藝開始分生熟。NO.1膚色不同雖然都是一個媽生的,可是兩兄弟膚色是截然不同。生茶更像少年,熟茶反而更像中年。生茶作為普洱的老大,生...
2026-06-02
滴滴出行指派模式怎麼設置
滴滴出行指派模式怎麼設置
3月4日,澎湃新聞記者獲悉,滴滴在快車、優享試行“選擇路線”功能,用戶可在APP中自主選擇車輛行駛路線。滴滴方面表示,該功能是旨在更好地幫助乘客選擇路線,便于司乘快速溝通,有效避免因行車路線選擇引發司乘糾紛。“選擇路線”功能示意圖“選擇路線...
2026-06-02
各大快遞公司運營時間
各大快遞公司運營時間
周健葉蘋報道總部設在美國的外資快遞巨頭,元旦的氣氛超過國内快遞公司。截至今天,FedEx、UPS已經宣布,元旦期間的快遞收寄節奏相比平日有明顯不同。而國内快遞公司表示,按照全年無休的規則,元旦期間的快件收寄節奏不變。總部位于美國的FedEx...
2026-06-02
千頌伊罵人搞笑
千頌伊罵人搞笑
【轉載請務必注明,原創:梅爾迪絲】照上半年這個趨勢來看,今年應該是男偶像元年,破滅元年!4月14号下午5點59分,低調了一段時間的任豪忽然發了一條微博,就最近的日本核廢水處理問題發表了自己“獨到的見解”。微博剛一發出,就得到閱讀無數,正當大...
2026-06-02
為什麼說安欣是高啟強的恩人
為什麼說安欣是高啟強的恩人
“強欣劑”成虐心CP:安欣之于高啟強,是心裡唯一的一道光——引言。#狂飙cp#“如果再有一次機會,你還會在大年夜給我一碗餃子嗎?”當初安欣給了高啟強一頓餃子,這頓餃子沒能阻止他入歧途,卻成了他後來20年間唯一的一道光。最後的餃子,開始的餃子...
2026-06-02
Copyright 2023-2026 - www.tftnews.com All Rights Reserved