温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Cassandra和HBase主要设计思路对比

发布时间:2020-05-24 16:26:21 来源:网络 阅读:453 作者:阿里中间件 栏目:关系型数据库
CassandraHBase
一致性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,BloomFilterBloomFilter
锁与事务ClientTimestap(Dynamo使用vectorlock)OptimisticConcurrencyControl
读写性能数据读写定位非常快。数据读写定位可能要通过最多6次的网络RPC,性能较低。
CAP点评1,弱一致性,数据可能丢失。

2,可用性高。

3,扩容方便。

1,强一致性,0数据丢失。

2,可用性低。

3,扩容方便。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI