這篇文章主要介紹Facebook為什么選擇了Hadoop和HBase,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!
創(chuàng)新互聯(lián)自2013年創(chuàng)立以來(lái),先為三臺(tái)等服務(wù)建站,三臺(tái)等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為三臺(tái)企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問(wèn)題。橫向擴(kuò)展性強(qiáng)。對(duì)Facebook這種海量數(shù)據(jù)存儲(chǔ)場(chǎng)景來(lái)說(shuō),擴(kuò)容幾乎是家常便飯,HBase能夠使數(shù)據(jù)擴(kuò)容非常容易。
支持很高的寫吞吐。Facebook的消息數(shù)據(jù)很龐大,每天的寫量也很大。
在同一個(gè)數(shù)據(jù)同中心,能夠保證有較強(qiáng)的一致性。Facebook用HBase來(lái)存儲(chǔ)消息數(shù)據(jù),業(yè)務(wù)上需要一個(gè)能夠保證一致性的數(shù)據(jù)存儲(chǔ)(這也是Facebook并沒(méi)有采用Cassandra的原因之一["WefoundCassandra'seventualconsistencymodeltobeadifficultpatterntoreconcileforournewMessagesinfrastructure"fromquora])
有良好的隨機(jī)讀性能。消息系統(tǒng)的業(yè)務(wù)邏輯導(dǎo)致會(huì)有很多穿透緩存層的隨機(jī)讀操作。
高可用性,故障可恢復(fù)性。由于數(shù)據(jù)量大,分布的機(jī)器也可能很多,出故障或者進(jìn)行一些日常升級(jí)工作會(huì)比較頻繁,需要能夠有很高可用性的系統(tǒng)。
錯(cuò)誤隔離性。一個(gè)結(jié)點(diǎn)的錯(cuò)誤不會(huì)影響到其它結(jié)點(diǎn),磁盤故障只會(huì)對(duì)相應(yīng)的小規(guī)模的數(shù)據(jù)產(chǎn)生影響。
提供原子性的read-modify-write操作。原子性的increment或者對(duì)比后修改的操作,對(duì)很多業(yè)務(wù)上的處理非常方便。
提供獲取某個(gè)范圍的數(shù)據(jù)的功能。比如像獲取某人最近100條消息這樣的功能,在消息系統(tǒng)里是很常見的需求。
當(dāng)然,下面幾個(gè)Hadoop和HBase不太擅長(zhǎng)的方面也值得一說(shuō):
同一個(gè)數(shù)據(jù)中心網(wǎng)絡(luò)割裂下的容災(zāi)性。同一個(gè)數(shù)據(jù)中心的網(wǎng)絡(luò)出現(xiàn)問(wèn)題了,導(dǎo)致各結(jié)點(diǎn)之間無(wú)法正常溝通,這種情況通??梢酝ㄟ^(guò)配置一些備用的網(wǎng)絡(luò)設(shè)備來(lái)避免。
某個(gè)數(shù)據(jù)中心故障不會(huì)影響服務(wù)。這個(gè)情況更是少之又少。
在多個(gè)數(shù)據(jù)中心間的實(shí)時(shí)數(shù)據(jù)交換。這個(gè)不太現(xiàn)實(shí),通常這一點(diǎn)是用Cache層來(lái)實(shí)現(xiàn)用戶對(duì)無(wú)端數(shù)據(jù)的實(shí)時(shí)訪問(wèn)的。
以上是“Facebook為什么選擇了Hadoop和HBase”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!