Cassandra和HBase主要设计思路对比
浏览:4139次 出处信息
Cassandra | HBase | |
一致性 | Quorum NRW策略
通过Gossip协议同步Merkle Tree,维护集群节点间的数据一致性 |
单节点,无复制,强一致性 |
可用性 | 1,基于Consistent Hash相邻节点复制数据,数据存在于多个节点,无单点故障。
2,某节点宕机,hash到该节点的新数据自动路由到下一节点做 hinted handoff,源节点恢复后,推送回源节点。 3,通过Gossip协议维护集群所有节点的健康状态,并发送同步请求,维护数据一致性。 4,SSTable,纯文件,单机可靠性一般。 |
1,存在单点故障,Region Server宕机后,短时间内该server维护的region无法访问,等待failover生效。
2,通过Master维护各Region Server健康状况和Region分布。 3,多个Master,Master宕机有zookeeper的paxos投票机制选取下一任Master。Master就算全宕机,也不影响Region读写。Master仅充当一个自动运维角色。 4,HDFS为分布式存储引擎,一备三,高可靠,0数据丢失。 5,HDFS的namenode是一个SPOF。 |
伸缩性 | 1,Consistent Hash,快速定位数据所在节点。
2,扩容需在Hash Ring上多个节点间调整数据分布。 |
1,通过Zookeeper定位目标Region Server,最后定位Region。
2,Region Server扩容,通过将自身发布到Master,Master均匀分布。 |
负载均
衡 |
请求Zookeeper取得整个集群地址,然后根据Consistent Hash选择合适的节点。client会缓存集群地址。 | 请求Zookeeper取读写数据路由表定位Region Server,Master会修改这个路由表。Client自身也会缓存一部分路由信息。 |
数据差异比较算法 | Merkle Tree , Bloom Filter | Bloom Filter |
锁与事务 | Client Timestap(Dynamo使用vector lock) | Optimistic Concurrency Control |
读写性能 | 数据读写定位非常快。 | 数据读写定位可能要通过最多6次的网络RPC,性能较低。 |
CAP点评 | 1,弱一致性,数据可能丢失。
2,可用性高。 3,扩容方便。 |
1,强一致性,0数据丢失。
2,可用性低。 3,扩容方便。 |
建议继续学习:
- HBase集群出现NotServingRegionException问题的排查及解决方法 (阅读:16226)
- HFile存储格式 (阅读:14538)
- hbase运维 (阅读:13677)
- hbase介绍 (阅读:11032)
- HBase技术介绍 (阅读:6759)
- HBase随机写以及随机读性能测试 (阅读:6490)
- HBase性能优化方法总结 (阅读:5829)
- HBase二级索引与Join (阅读:5789)
- HBase Thrift 接口使用注意事项 (阅读:5411)
- Cassandra存储机制 (阅读:3824)
QQ技术交流群:445447336,欢迎加入!
扫一扫订阅我的微信号:IT技术博客大学习
扫一扫订阅我的微信号:IT技术博客大学习
<< 前一篇:详解JDBC与Hibernate区别
文章信息
- 作者:xiaofeng 来源: 淘宝JAVA中间件团队博客
- 标签: Cassandra HBase
- 发布时间:2011-06-02 23:03:08
建议继续学习
近3天十大热文
- [55] Oracle MTS模式下 进程地址与会话信
- [55] IOS安全–浅谈关于IOS加固的几种方法
- [54] 如何拿下简短的域名
- [54] 图书馆的世界纪录
- [53] android 开发入门
- [52] Go Reflect 性能
- [49] 读书笔记-壹百度:百度十年千倍的29条法则
- [49] 【社会化设计】自我(self)部分――欢迎区
- [38] 程序员技术练级攻略
- [33] 视觉调整-设计师 vs. 逻辑