Cassandra和HBase主要設計思路對比

2021-09-24 14:33:38 字數 1278 閱讀 2983

cassandra

hbase

一致性quorumnrw策略

通過gossip協議同步merkletree,維護集群節點間的資料一致性

單節點,無複製,強一致性

可用性1,基於consistenthash相鄰節點複製資料,資料存在於多個節點,無單點故障。

2,某節點宕機,hash到該節點的新資料自動路由到下一節點做hintedhandoff,源節點恢復後,推送回源節點。

3,通過gossip協議維護集群所有節點的健康狀態,並傳送同步請求,維護資料一致性。

4,sstable,純檔案,單機可靠性一般。

1,存在單點故障,regionserver宕機後,短時間內該server維護的region無法訪問,等待failover生效。

2,通過master維護各regionserver健康狀況和region分布。

3,多個master,master宕機有zookeeper的paxos投票機制選取下一任master。master就算全宕機,也不影響region讀寫。master僅充當乙個自動運維角色。

4,hdfs為分布式儲存引擎,一備三,高可靠,0資料丟失。

5,hdfs的namenode是乙個spof。

伸縮性1,consistenthash,快速定位資料所在節點。

2,擴容需在hashring上多個節點間調整資料分布。

1,通過zookeeper定位目標regionserver,最後定位region。

2,regionserver擴容,通過將自身發布到master,master均勻分布。

負載均

衡請求zookeeper取得整個集群位址,然後根據consistenthash選擇合適的節點。client會快取集群位址。

請求zookeeper取讀寫資料路由表定位regionserver,master會修改這個路由表。client自身也會快取一部分路由資訊。

資料差異比較演算法

merkletree,bloomfilter

bloomfilter

鎖與事務

clienttimestap(dynamo使用vectorlock)

optimisticconcurrencycontrol

讀寫效能

資料讀寫定位非常快。

資料讀寫定位可能要通過最多6次的網路rpc,效能較低。

cap點評

1,弱一致性,資料可能丟失。

2,可用性高。

3,擴容方便。

1,強一致性,0資料丟失。

2,可用性低。

3,擴容方便。

Cassandra和HBase的區別

hbase的 卡桑德拉 hbase is based on bigtable google cassandra基於dynamodb amazon 它最初是由前亞馬遜工程師在facebook上開發的。這就是cassandra支援多資料中心的原因之一。hbase使用hadoop基礎架構 zookeepe...

cassandra的索引查詢和排序

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

cassandra的索引查詢和排序

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