Cassandra和HBase的區別

2021-10-14 11:06:39 字數 1194 閱讀 5973

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不支援類似協處理器的功能。

Cassandra和HBase主要設計思路對比

cassandra hbase 一致性quorumnrw策略 通過gossip協議同步merkletree,維護集群節點間的資料一致性 單節點,無複製,強一致性 可用性1,基於consistenthash相鄰節點複製資料,資料存在於多個節點,無單點故障。2,某節點宕機,hash到該節點的新資料自動路...

cassandra的索引查詢和排序

cassandra的索引查詢和排序 cassandra的查詢雖然很弱,但是它也是支援索引和排序的,當然是簡陋的查詢,這一切都是為了追求效能的代價,所以要使用cassandra,你不能希望它完全適用你的邏輯,而是把你的邏輯設計的更適合cassandra。第一 索引查詢 cassandra是支援建立二級...

cassandra的索引查詢和排序

cassandra的索引查詢和排序 cassandra的查詢雖然很弱,但是它也是支援索引和排序的,當然是簡陋的查詢,這一切都是為了追求效能的代價,所以要使用cassandra,你不能希望它完全適用你的邏輯,而是把你的邏輯設計的更適合cassandra。第一 索引查詢 cassandra是支援建立二級...