Cassandra和HBase的區別

HBase的 卡桑德拉 HBase is based on Bigtable (Google) Cassandra基於DynamoDB(Amazon)。它最初是由前亞馬遜工程師在Facebook上開發的。這就是Cassandra支持多數據中心的原因之一。 HBase使用Hadoop基礎架構(Zookeeper, NameNode, HDFS)。部署Hadoop的組織必須具有Hadoop和HBase的知識 Cassandra與Hadoop分開啓動和發展, 其基礎架構和操作知識要求與Hadoop不同。但是, 對於分析, 許多Cassandra部署使用Cassandra + Storm(使用zookeeper)和/或Cassandra + Hadoop。 HBase-Hadoop基礎結構具有幾個“活動部分”, 包括Zookeeper, 名稱節點, HBase主服務器和數據節點, Zookeeper是集羣的並且自然地具有容錯能力。需要對名稱節點進行羣集以容錯。 Cassandra使用單個節點類型。所有節點均相等, 並執行所有功能。任何節點都可以充當協調器, 從而確保沒有Spof。當然, 添加風暴或Hadoop會增加基礎架構的複雜性。 HBase非常適合進行基於範圍的掃描。 Cassandra不支持基於範圍的行掃描, 這在某些用例中可能會受到限制。 HBase提供了跨廣域網的HBase集羣的異步複製。 Cassandra隨機分區提供了跨WAN的單行的行復制。 HBase僅支持有序分區。 Cassandra正式支持有序分區, 但是Cassandra的生產用戶都不使用有序分區, 這是因爲它會產生“熱點”以及此類熱點導致的操作困難。 由於有序分區, HBase可以輕鬆地水平擴展, 同時仍支持Rowkey範圍掃描。 如果將數據存儲在Cassandra中的列中以支持範圍掃描, 則Cassandra中行大小的實際限制是10兆字節。 HBase支持原子比較和設置。 HBase支持連續的事務。 Cassandra不支持原子比較和設置。 HBase不支持針對單個行的讀取負載平衡。單行一次僅由一個區域服務器提供服務。 Cassandra將支持對單個行的讀取負載平衡。 布隆過濾器可以在HBase中用作索引的另一種形式。 Cassandra使用布隆過濾器進行鍵查找。 HBase中的協處理器功能支持觸發器。 Cassandra不支持類似協處理器的功能。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章