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

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


咨詢
建站咨詢
