HBase 和 Cassandra的使用对比

HBase vs Cassandra

  HBase Cassandra
语言JavaJava
出发点BigTableBigTable and Dynamo
LicenseApacheApache
ProtocolHTTP/REST (also Thrift)Custom, binary (Thrift)
数据分布表划分为多个region存在不同region server上改进的一致性哈希(虚拟节点)
存储目标大文件小文件
一致性强一致性最终一致性,Quorum NRW策略
架构master/slavep2p
高可用性NameNode是HDFS的单点故障点P2P和去中心化设计,不会出现单点故障
伸缩性Region Server扩容,通过将自身发布到Master,Master均匀分布Region扩容需在Hash Ring上多个节点间调整数据分布
读写性能数据读写定位可能要通过最多6次的网络RPC,性能较低。数据读写定位非常快
数据冲突处理乐观并发控制(optimistic concurrency control)向量时钟
临时故障处理Region Server宕机,重做HLog数据回传机制:某节点宕机,hash到该节点的新数据自动路由到下一节点做 hinted handoff,源节点恢复后,推送回源节点。
永久故障恢复Region Server恢复,master重新给其分配regionMerkle 哈希树,通过Gossip协议同步Merkle Tree,维护集群节点间的数据一致性
成员通信及错误检测Zookeeper基于Gossip
CAP1,强一致性,0数据丢失。2,可用性低。3,扩容方便。1,弱一致性,数据可能丢失。2,可用性高。3,扩容方便。





Facebook为什么放弃Cassandra?

Facebook开发Cassandra初衷是用于Inbox Search,但是后来的Message System则使用了HBase,Facebook对此给出的解释是Cassandra的最终一致性模型,不适合Message System,HBase具有更简单的一致性模型,
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值