成人AV在线无码|婷婷五月激情色,|伊人加勒比二三四区|国产一区激情都市|亚洲AV无码电影|日av韩av无码|天堂在线亚洲Av|无码一区二区影院|成人无码毛片AV|超碰在线看中文字幕

分布式文件系統(tǒng)設(shè)計(jì)步驟 hadoop設(shè)計(jì)理念和核心技術(shù)?

hadoop設(shè)計(jì)理念和核心技術(shù)?狹義的hadoop指的是HDFS和MapReduce。HDFS是hadoop分布式文件系統(tǒng),是由多臺(tái)計(jì)算機(jī)組成的集群上的組件文件系統(tǒng)。MapReduc如何使用Mongo

hadoop設(shè)計(jì)理念和核心技術(shù)?

狹義的hadoop指的是HDFS和MapReduce。HDFS是hadoop分布式文件系統(tǒng),是由多臺(tái)計(jì)算機(jī)組成的集群上的組件文件系統(tǒng)。MapReduc

如何使用MongoDb實(shí)現(xiàn)分布式Id?

在傳統(tǒng)數(shù)據(jù)庫(kù)軟件的開(kāi)發(fā)中,各大數(shù)據(jù)庫(kù)也對(duì)這一需求提供了相應(yīng)的支持,比如MySQL的自增。

分布式ID的特點(diǎn)包括:唯一性:保證生成的ID在全網(wǎng)唯一;高可用性:確保ID在任何時(shí)候都能正確生成。

github上對(duì)分布式ID的描述是:分布式唯一性和時(shí)間序列。

主要方案包括

使用reids的incr命令,使用UUIDTwitter的雪花算法,使用zookeeper生成MongoDB的唯一ID。ObjectIdMongoDB被設(shè)計(jì)成輕量級(jí)的,不同的機(jī)器可以是全局唯一的。

其格式:

前4個(gè)字節(jié)是標(biāo)準(zhǔn)時(shí)代的時(shí)間戳,以秒為單位。時(shí)間戳與接下來(lái)的5個(gè)字節(jié)一起提供了第二級(jí)的唯一性。因?yàn)闀r(shí)間戳排在最前面,這意味著ObjectId將大致按照插入順序排列。這在某些方面是有用的,比如用它作為索引來(lái)提高效率。這四個(gè)字節(jié)也暗示了文檔創(chuàng)建的時(shí)間。大多數(shù)客戶端類庫(kù)都會(huì)公開(kāi)一個(gè)方法來(lái)從ObjectId獲取這些信息。

接下來(lái)的3個(gè)字節(jié)是主機(jī)的唯一標(biāo)識(shí)符。通常是機(jī)器主機(jī)名的哈希值。這可以確保不同的主機(jī)生成不同的ObjectId而不會(huì)發(fā)生。為了確保同一臺(tái)機(jī)器上多個(gè)并發(fā)進(jìn)程生成的ObjectId是唯一的,接下來(lái)的兩個(gè)字節(jié)來(lái)自生成ObjectId的進(jìn)程標(biāo)識(shí)符(PID)。

前9個(gè)字節(jié)確保不同機(jī)器和進(jìn)程在同一秒內(nèi)生成的ObjectId是唯一的。最后3個(gè)字節(jié)是自動(dòng)遞增的計(jì)數(shù)器,保證同一進(jìn)程在同一秒生成的ObjectId也是不同的。每個(gè)進(jìn)程允許同時(shí)擁有2563(16 777 216)個(gè)不同的ObjectId。

機(jī)器ID是服務(wù)器主機(jī)的標(biāo)識(shí),通常是機(jī)器主機(jī)名的哈希值。

您可以在同一臺(tái)機(jī)器上運(yùn)行mongod的多個(gè)實(shí)例,因此您還需要添加進(jìn)程標(biāo)識(shí)符PID。

前9個(gè)字節(jié)保證了同一秒內(nèi)不同機(jī)器和進(jìn)程生成的ObjectId的唯一性。最后三個(gè)字節(jié)是一個(gè)自動(dòng)遞增的計(jì)數(shù)器(一個(gè)mongod進(jìn)程需要一個(gè)全局計(jì)數(shù)器),保證了同一秒的ObjectId是唯一的。每個(gè)進(jìn)程最多允許有(256 ^ 3 ^ 167。77216)不同的ObjectId。

綜上所述,時(shí)間戳保證以秒為單位的唯一性,機(jī)器ID保證設(shè)計(jì)分布式避免時(shí)鐘同步,PID保證同一個(gè)服務(wù)器運(yùn)行多個(gè)mongod實(shí)例時(shí)的唯一性,最后一個(gè)計(jì)數(shù)器保證同一秒內(nèi)的唯一性(幾個(gè)字節(jié)的選擇既要考慮存儲(chǔ)的經(jīng)濟(jì)性,又要考慮并發(fā)性能的上限)。

_id既可以在服務(wù)器端生成,也可以在客戶端生成,可以減輕服務(wù)器端的壓力。

主要參考: