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是支援建立二級...