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

生成唯一 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
推荐阅读
全麥粉是什麼面粉(全部小麥研磨而成的面粉)
全麥粉是什麼面粉(全部小麥研磨而成的面粉)
     全麥粉!驕傲姐姐對它又愛又恨。曾經不知道打爛過多少全麥面團,真所謂屢戰屢敗,屢敗屢戰,現在終于拿下了全麥粉這個小妖精,全麥面團随便打,根本不是事~今天我就把關于全麥粉的知識分享給大家,希望對大家攪打全麥面團時候有幫助。      01   什麼是全麥粉   全麥粉顧名思義是全部小麥研磨而成的面粉,包括麥麸、胚乳、胚芽。全麥粉相比面粉含有更多的礦物質...
2026-06-17
銀手镯變黑是什麼導緻的(銀手镯變黑是怎麼了)
銀手镯變黑是什麼導緻的(銀手镯變黑是怎麼了)
  大家有看到過電視劇裡面,角色在食用某種食物的時候,會有下人先用銀針試毒,如果銀針變黑了就說明食物裡被下毒了。受此啟示,現實中也有人效仿了這種方法,比如:   案例1:寶媽發現1歲寶寶戴的銀镯子變色,誤以為是中毒   陝西一位寶媽,看到1歲寶寶手上戴的銀镯子變色了,聯想到電視劇中用銀針試毒的橋段,又想到寶寶近來幾天食欲減退、睡眠不好,于是誤以為中毒了,急匆...
2026-06-17
教你三句簡單的敬酒語(輪你敬酒隻會說)
教你三句簡單的敬酒語(輪你敬酒隻會說)
  每到年底,大家的飯局、酒局就明顯增多,不僅要和家人團聚,還有各種公司團建、年會需要參加。   而這個時候,敬酒都是少不了的環節。對于能言善道的人來說,這也不算什麼難事,但是對于不善言辭的人來說,每到自己敬酒的時候簡直太為難了。      特别是對一些性格内斂的人,他還生怕自己說錯話給大家留下不好的印象,最後隻有一句“大家吃好喝好”草草了事。   吃好喝好...
2026-06-17
中國城市gdp排名(2023上半年全國GDP50強城市)
中國城市gdp排名(2023上半年全國GDP50強城市)
  受到疫情放開,我國經濟也是迎來了快速複蘇,一方面,不少省份早已經跑向歐美進行招商引資,另一方面,政府也是出台政策刺激消費,在内外共同促進下,我國經濟成為全球經濟發展的高地,在今年上半年,我國是憑借5.5%的同比增速,實現了593034億元的國内生産總值。   代表着國内頂尖水平的GDP50強城市,也是再次提高了門檻,剛好入圍的濟甯市已經有2725億元,有...
2026-06-17
吃橘子的禁忌你知道哪些呢(冬季吃橘子有這5大注意事項)
吃橘子的禁忌你知道哪些呢(冬季吃橘子有這5大注意事項)
  在冬季,橘子是非常常見的水果。廣東産橘,有粵東、粵中、粵西、和粵北四大柑橘主産區,而且橘的種類繁多,如:年桔、砂糖桔、貢柑、皇帝柑等。廣東人愛橘,過年時家家戶戶門口都要擺上盆年桔,以圖吉利。然而橘不隻是民俗上給大家帶來吉祥,對大家都身體健康來說也全身都是寶。      橘子不同部位各有什麼食療功效?橘肉:甘、酸、溫;歸肺、胃經。有開胃、止渴潤肺的功效。主...
2026-06-17
Copyright 2023-2026 - www.tftnews.com All Rights Reserved