新聞中心
如何使用MongoDb實現分布式Id?
傳統(tǒng)數據庫軟件開發(fā)中,主鍵自動生成技術各大數據庫對于該需求也提供了相應的支持,比如MySQL的自增。

作為一家“創(chuàng)意+整合+營銷”的成都網站建設機構,我們在業(yè)內良好的客戶口碑。創(chuàng)新互聯(lián)提供從前期的網站品牌分析策劃、網站設計、網站設計、成都網站建設、創(chuàng)意表現、網頁制作、系統(tǒng)開發(fā)以及后續(xù)網站營銷運營等一系列服務,幫助企業(yè)打造創(chuàng)新的互聯(lián)網品牌經營模式與有效的網絡營銷方法,創(chuàng)造更大的價值。
分布式ID特性包括:唯一性:確保生成的ID是全網唯一的;高可用性:確保任何時候都能正確的生成ID。
github上對分布式ID這個特性的描述是:分布式唯一和時間序列。
主要方案方案包括
MongoDB的ObjectId設計成輕量型的,不同的機器都能用全局唯一
它的格式:
前4 個字節(jié)是從標準紀元開始的時間戳,單位為秒。時間戳,與隨后的5 個字節(jié)組合起來,提供了秒級別的唯一性。由于時間戳在前,這意味著ObjectId 大致會按照插入的順序排列。這對于某些方面很有用,如將其作為索引提高效率。這4 個字節(jié)也隱含了文檔創(chuàng)建的時間。絕大多數客戶端類庫都會公開一個方法從ObjectId 獲取這個信息。
接下來的3 字節(jié)是所在主機的唯一標識符。通常是機器主機名的散列值。這樣就可以確保不同主機生成不同的ObjectId,不產生沖突。 為了確保在同一臺機器上并發(fā)的多個進程產生的ObjectId 是唯一的,接下來的兩字節(jié)來自產生ObjectId 的進程標識符(PID)。
機器ID是服務器主機標識,通常是機器主機名的散列值。
到此,以上就是小編對于mongodb開發(fā)語言的問題就介紹到這了,希望這1點解答對大家有用。
文章題目:如何使用MongoDb實現分布式Id?(mongodb開發(fā)規(guī)范有哪些)
網頁地址:http://fisionsoft.com.cn/article/cochdde.html


咨詢
建站咨詢
