現在的位置: 首頁 > 資料庫 > 正文

Facebook為何選擇了Hadoop和HBase

2020年07月01日 資料庫 ⁄ 共 1011字 ⁄ 字型大小 評論關閉

  Facebook對HBase的成功使用也使得超來超多的HBase案例得以出現,對Facebook選擇Hadoop和HBase的原因做了一個說明。下面學步園小編來講解下Facebook為何選擇了Hadoop和HBase?

  Facebook為何選擇了Hadoop和HBase

  橫向擴展性強。對Facebook這種海量數據存儲場景來說,擴容幾乎是家常便飯,HBase能夠使數據擴容非常容易。

  支持很高的寫吞吐。Facebook的消息數據很龐大,每天的寫量也很大。

  在同一個數據同中心,能夠保證有較強的一致性。Facebook用HBase來存儲消息數據,業務上需要一個能夠保證一致性的數據存儲(這也是Facebook並沒有採用Cassandra的原因之一["WefoundCassandra'seventualconsistencymodeltobeadifficultpatterntoreconcileforournewMessagesinfrastructure"fromquora])

  有良好的隨機讀性能。消息系統的業務邏輯導致會有很多穿透緩存層的隨機讀操作。

  Facebook為何選擇了Hadoop和HBase

  高可用性,故障可恢復性。由於數據量大,分布的機器也可能很多,出故障或者進行一些日常升級工作會比較頻繁,需要能夠有很高可用性的系統。

  錯誤隔離性。一個結點的錯誤不會影響到其它結點,磁碟故障只會對相應的小規模的數據產生影響。

  提供原子性的read-modify-write操作。原子性的increment或者對比後修改的操作,對很多業務上的處理非常方便。

  提供獲取某個範圍的數據的功能。比如像獲取某人最近100條消息這樣的功能,在消息系統里是很常見的需求。

  當然,下面幾個Hadoop和HBase不太擅長的方面也值得一說:

  同一個數據中心網路割裂下的容災性。同一個數據中心的網路出現問題了,導致各結點之間無法正常溝通,這種情況通常可以通過配置一些備用的網路設備來避免。

  某個數據中心故障不會影響服務。這個情況更是少之又少。

  在多個數據中心間的實時數據交換。這個不太現實,通常這一點是用Cache層來實現用戶對無端數據的實時訪問的。

  以上就是關於「Facebook為何選擇了Hadoop和HBase」的內容,希望對大家有用。更多資訊請關注學步園。學步園,您學習IT技術的優質平台!

抱歉!評論已關閉.