【zz】Cassandra和HBase 设计思路对比

 

Cassandra

HBase

一致性

Quorum NRW策略

通过Gossip协议同步Merkle Tree,维护集群节点间的数据一致性

单节点,无复制,强一致性

可用性

1,基于Consistent Hash相邻节点复制数据,数据存在于多个节点,无单点故障。

 

2,某节点宕机,hash到该节点的数据自动路由到下一节点做hinted handoff,源节点恢复后推送回源节点。

 

3,通过Gossip协议维护集群所有节点的健康状态,并发送同步请求,维护数据一致性。

 

4SSTable,纯文件,单机可靠性一般。

1,存在单点故障,Region Server宕机后,短时间内该server维护的region无法访问,等待failover生效。

 

2,通过Master维护各Region Server健康状况和Region分布。

 

3,多个MasterMaster宕机有zookeeperpaxos投票机制选取下一任MasterMaster就算全宕机,也不影响Region读写。Master仅充当一个自动运维角色。

 

4HDFS为分布式存储引擎,一备三,高可靠,0数据丢失。

 

5HDFSnamenode是一个SPOF

伸缩性

1Consistent Hash,快速定位数据所在节点。

 

2,扩容需在Hash Ring上多个节点间调整数据分布。

1,通过Zookeeper定位目标Region Server,最后定位Region

 

2Region Server扩容,通过将自身发布到MasterMaster均匀分布。

负载均

请求Zookeeper取得整个集群地址,然后根据Consistent Hash选择合适的节点。client会缓存集群地址。

请求Zookeeper取读写数据路由表定位Region ServerMaster会修改这个路由表。Client自身也会缓存一部分路由信息。

数据差异比较算法

Merkle Tree , Bloom Filter

Bloom Filter

锁与事务

Client TimestapDynamo使用vector lock

Optimistic Concurrency Control

读写性能

数据读写定位非常快。

数据读写定位可能要通过最多6次的网络RPC,性能较低。

CAP点评

1,弱一致性,数据可能丢失。

2,可用性高。

3,扩容方便。

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

2,可用性低。

3,扩容方便。

 转自:http://rdc.taobao.com/team/jm/archives/915

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值