HBase和Cassandra比较

简介:

HBase是一个开源的分布式存储系统。他可以看作是Google的Bigtable的开源实现。如同Google的Bigtable使用Google File System一样,HBase构建于和Google File System类似的Hadoop HDFS之上。

Cassandra可以看作是Amazon Dynamo的开源实现。和Dynamo不同之处在于,Cassandra结合了Google Bigtable的ColumnFamily的数据模型。可以简单地认为,Cassandra是一个P2P的,高可靠性并具有丰富的数据模型的分布式文件系统。

HBase vs Cassandra

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

facebook为什么放弃Cassandra?

参考:http://www.zhihu.com/question/19593207:

Facebook开发Cassandra初衷是用于Inbox Search,但是后来的Message System则使用了HBase,Facebook对此给出的解释是Cassandra的最终一致性模型不适合Message System,HBase具有更简单的一致性模型,当然还有其他的原因。HBase更加的成熟,成功的案例也比较多等等。Twitter和Digg都曾经很高调的选用Cassandra,但是最后也都放弃了,当然Twitter还有部分项目也还在使用Cassandra,但是主要的Tweet已经不是了。

相关实践学习
云数据库HBase版使用教程
  相关的阿里云产品:云数据库 HBase 版 面向大数据领域的一站式NoSQL服务,100%兼容开源HBase并深度扩展,支持海量数据下的实时存储、高并发吞吐、轻SQL分析、全文检索、时序时空查询等能力,是风控、推荐、广告、物联网、车联网、Feeds流、数据大屏等场景首选数据库,是为淘宝、支付宝、菜鸟等众多阿里核心业务提供关键支撑的数据库。 了解产品详情: https://cn.aliyun.com/product/hbase   ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
目录
相关文章
|
存储 SQL 分布式计算
HBase和Cassandra的分布式架构深度对比
HBase和Cassandra几乎都是一个时候出现的,都是在2010年成为Apache的顶级项目,不过如果我们细品其内部机制,我们会发现其实两者是完全不同的架构风格。HBASE起源于Google BigTable,几乎遵从了BigTable论文的大多数架构设计。Cassandra则是采纳了BigTable的数据模型,同时吸收了Amazon Dynamo的分布式设计。因此从存储结构模型的微观上看,HBASE和Cassandra在单点存储数据的机理是类似的,但是从分布式架构的宏观上看,两者则大相径庭。
HBase和Cassandra的分布式架构深度对比
|
存储 SQL 分布式计算
HBase 与 Cassandra 架构对比分析的经验分享
HBase 与 Cassandra 架构对比分析的经验分享
|
存储 SQL 分布式计算
MongoDB、Cassandra 和 HBase 三种 NoSQL 数据库比较
Hadoop 获得了许多大数据应用的信誉,但实际情况是,NoSQL数据库是一直处于更加广泛部署和更广泛的发展中的技术。尽管选择 Hadoop 作为应用存储,相对来说更直接简单。但是,具体采用什么样的 NoSQL 数据库是个值得思考的问题,毕竟,还有超过100种的 NoSQL 数据库。
2936 0
MongoDB、Cassandra 和 HBase 三种 NoSQL 数据库比较
|
算法 NoSQL 分布式数据库
|
NoSQL 大数据 分布式数据库
HBase 和 Cassandra的浅谈
HBase 和Cassandra 数据库对比
13941 0
|
算法 NoSQL 分布式数据库