在1月9日Cassandra中文社区开年活动开始之前的闲聊时间,活动的四位嘉宾就“HBase和Cassandra的对比”这一话题展开了讨论。
 
总的来说,HBase和Cassandra各有其优势特性以及比较适合的应用场景。不过相比HBase来说,Cassandra的持续在线、稳定性高、易于上手等优势让嘉宾们印象深刻,纷纷给出好评。

 
刘腾
华为消费者云服务部cassandra数据库运维负责人,2011年加入华为,先后负责过分布式存储,分布式缓存和分布式消息队列的运维工作,2014年开始接触cassandra,2018年开始全面负责cassandra的运维工作。
 
“华为有在大规模使用Cassandra,也使用了HBase。Cassandra主要用在OLTP场景,HBase主要用在OLAP场景。
 
相比HBase,Cassandra的优势很多,比如我认为Cassandra对运维的友好程度整体比HBase要好,可用性也要高。
 
我也希望Cassandra未来可以把HBase的部分优点吸收过来,比如引入RocksDB、支持对接多种底层存储类型、支持计算和存储分离的架构(可对接HDFS等分布式存储)。“

 
王锋
奇虎360集团技术总监,存储与大数据架构平台负责人。国内较早从事Cassandra相关技术研究和实践的开发者。360云盘则是国内早期Cassandra落地较为成功的案例,峰值规模1.4万物理节点。
 
“360从2011年就开始用HBase和Cassandra这两套系统了。一方面,这两种数据库的使用场景不太一样。HBase更多的是用在网页库、离线分析,而Cassandra更多的是满足在线(always online)需求。
 
在选择这两种数据库时主要考虑的点是故障恢复时间。HBase本身故障恢复的时间,它在Region Server宕机之后需要重新分配,这个分配的时间是秒级到分钟级,是比较长的。如果数据规模比较大,很难用HBase满足100%在线这种业务需求。很多业务在我们这里很难容忍较大的访问抖动,或者较大的MTTR的时长,对于这类需求我们更倾向于使用Cassandra。
 
而对于数据规模大且吞吐量大的场景下的离线分析,我们更多地倾向于使用HBase,因为HBase是基于HDFS之上,很多扫描(scan)类型的访问用HDFS的效率就比较高一些。
 
另一个方面,是当我们做一些to B的项目时会发现Cassandra很适合中小规模的场景。因为它没有中心节点,整体架构比较轻量化,这样在运维管控方面就会有比较大的优势。
 
再加上Cassandra持续可用的特点和按需扩容的能力,以及Cassandra 3.0版本中的同城多活的特性,Cassandra访问可靠性上会比较有优势。
整体来说,从数据模型和功能方面来看,这两种数据库差不太多,但是在不同的应用场景可能会倾向使用不同的数据库。“

 
刘军民
阿里云数据库产品经理。目前在阿里云负责云Cassandra数据库的产品规划相关工作。曾在19年与多位小伙伴共同发起Cassandra中文社区,期望更多的伙伴加入到社区建设,期待Cassandra在中国区可以生机勃勃,大放异彩。
 
“我们在客户访谈的过程中经常碰到这样的疑惑:HBase和Cassandra到底怎么选?
 
因为我是做数据库产品的,我个人觉得Cassandra有几个好处:首先它起配是非常灵活的,另外就是它的稳定性。我们访谈的很多用户都反映过,在使用Cassandra的过程中数据库很稳定而且维护也很简单。因为Cassandra的组件较少,不像HBase有一堆组件需要维护。
 
所以我个人觉得,HBase更像是Hadoop体系下结合比较紧密的一个大数据存储工具,而Cassandra更像是一个数据库,一个非常容易运维的宽表数据库。
 
另外Cassandra的开发也很简便,因为Cassandra的CQL对于MySQL用户来说没有太高的学习门槛。很多用户反馈,以前从来没有用过Cassandra,但是花了几天时间学习之后就可以上手了,也就是说学习门槛是很低的。
 
除此之外,还有一点是稳定、易维护,尤其是在一些小规模集群上。我个人觉得Cassandra除了已有的使用场景外,在一些面向未来的场景,比如5G、AIoT、智能制造这些新兴的场景,对一些公司(尤其是初创公司)是更友好的。这也是为什么越来越多的开发者愿意选用Cassandra的原因。“

 
邓为
现任DataStax领航架构师总监。深耕分布式数据库系统十余年,曾经参与Amazon RedShift分布式云数据仓库前身的核心技术研发,七年前加入DataStax,主要负责为财富500强大客户和战略合作伙伴提供咨询服务。对SQL和NoSQL数据库,以及相关的大数据产品都有比较丰富的实战经验。
 
“我来分享一下我在国外看到的情况。我知道HBase在中国是比Cassandra更流行,比如从百度搜索指数这样的数据中都能看出来。但是在国外,情况恰恰完全相反。
 
在权威数据库排行榜DB Engines中,Cassandra的排名比HBase靠前很多。一般Cassandra都在前十以内,HBase一般在二十名开外,和Cassandra一直有十多名的差距。
 
根据我和客户的沟通,国外的客户现在越来越少人会把HBase和Cassandra比较。我认为,其中的一个原因是,HBase的流行其实是跟着Hadoop起来的,在Google Search上也可以看到HBase的流行程度和Hadoop是正相关的。
不过自2015年以来,Hadoop以及MapReduce这些框架逐渐被Spark这种新兴起的大数据处理框架替代,所以搭了Hadoop的快车的HBase在国外就逐渐式微了。
 
另外HBase的设计确实很容易由于某个模块出现问题或是由于它对Zookeeper的依赖,而造成单点故障的出现,导致数据库不能百分之百在线。
如果你完全没有基础,重头开始上手学习一个宽表数据库的话,Cassandra是比HBase要容易上手得多,Cassandra基本上可以说是能拿来就用的数据库。
 
如果你是从别的数据库转过来,Cassandra的开发者界面是非常友好的,CQL这种查询语言和大家熟悉的SQL非常相像。但如果你要使用HBase原生的界面,你需要写代码才能使用这个数据库,这会导致HBase上手比较困难。“
 

与HBase对比,Cassandra的优势特性是什么?的更多相关文章

  1. HBase 与 Cassandra 架构对比分析的经验分享

    架构对比 HBase和Cassandra几乎是一个年份发起,又都是在2010年成为Apache的顶级项目,不过如果我们去细品其内部机制,我们会发现其实两者是完全不同的架构风格. HBASE起源于Goo ...

  2. [转载] HBase vs Cassandra:我们迁移系统的原因

    转载自http://www.csdn.net/article/2010-11-29/282698 我的团队近来正在忙于一个全新的产品——即将发布的网络游戏www.FightMyMonster.com. ...

  3. SVN服务器端客户端配置, 及对比VSS的优势

    SVN 版本服务器搭配全过程详解(含服务端.客户端) SVN服务器端及客户端全套软件 SVN对比VSS的优势 两者区别:http://www.cnblogs.com/zxjyuan/archive/2 ...

  4. 对比Cassandra、 Mongodb、CouchDB、Redis、Riak、 Membase、Neo4j、HBase

    转自:http://www.cnblogs.com/alephsoul-alephsoul/archive/2013/04/26/3044630.html 导读:Kristóf Kovács 是一位软 ...

  5. HBase 数据的多版本特性潜在的意外

    HBase做为KeyValue结构存储,在存储上是依照RowKey的字典序进行排序,对于很多应用而言这可能远远不够,好在HBase的数据可以存储多个版本,并且版本可以排序,其理论上最大的版本数目Int ...

  6. 超融合与传统IT架构对比:成本价格优势有哪些

    之前文章中,我们已经介绍了超融合给用户 IT 基础架构带来的各个方面的价值,其中成本只是超融合架构的优势之一.但很多用户还是会非常关心这个话题,希望能有更具体的了解,所以本文整理超融合和传统 FC S ...

  7. HBase vs. BigTable Comparison - HBase对比BigTable

    HBase vs. BigTable Comparison HBase is an open-source implementation of the Google BigTable architec ...

  8. Druid对比Cassandra

    不是Cassandra专家, 如果描绘有错误, 请通过邮件列表或者其他方式告知, 我们会修正. Druid对扫描和聚合做了很大程度的优化, 不用提前计算就支持任意的向下钻取, 还可以实时摄入流式数据并 ...

  9. 图解Skip List——本质是空间换时间的数据结构,在lucene的倒排列表,bigtable,hbase,cassandra的memtable,redis中sorted set中均用到

    Skip List的提出已有二十多年[Pugh, W. (1990)],却依旧应用广泛(Redis.LevelDB等).作为平衡树(AVL.红黑树.伸展树.树堆)的替代方案,虽然它性能不如平衡树稳定, ...

随机推荐

  1. docker下安装svn-server

    参考资料,搭建过程比较详细:https://www.jianshu.com/p/a25fac7e7811 我按照上面资料搭建后,将其重新制作成了新的镜像theorydance/svn-server:1 ...

  2. eureka配置说明

    以下配置来源于jar中的源码,采用标准两个空格作为缩进 eureka.yml spring: application: name: APPLICATION_NAME # 应用名,在eureka上注册为 ...

  3. STL——容器(Map & multimap)的删除

    Map & multimap 的删除 map.clear();           //删除所有元素 map.erase(pos);      //删除pos迭代器所指的元素,返回下一个元素的 ...

  4. 1.微博回调接口 和绑定user接口

    1.1 oauth/views.py 中添加试图函数 http://192.168.56.100:8888/oauth/weibo/callback/ # 通过vue前端传入的code,微博身份验证c ...

  5. JavaScript中遍历的几种方法

    1.while循环 while后面跟循环条件和执行语句,只要满足条件,就会一直执行里面的执行 var i = 0 while(){ console.log(i) i++ } 2.do...while循 ...

  6. gnuplot中的一些技巧

    http://blog.csdn.net/bill_chuang/article/details/18215051 一.基础篇: 1.plot命令 基本命令:plot {<ranges>} ...

  7. monkey在指定的activity里面运行

    下载包地址:链接: https://pan.baidu.com/s/1Wk2eOj3saZx71Mx6pT2L4Q 提取码: gupa 运行方式:步骤1: 将工具下载下来放到本地目录下,解压步骤2:配 ...

  8. CMake将生成的可执行文件保存到其他目录

    在运行一些程序的时候,我们一般会把数据文件放在其他位置.而当在修改程序时,需要不断的修改代码,编译,执行.每次编译之后,都得将可执行文件复制到数据文件的目录. 这一问题有两种解决方法,一是直接在数据目 ...

  9. 泡面不好吃,我用了这篇k8s调度器,征服了他

    1.1 调度器简介 来个小刘一起 装逼吧 ,今天我们来学习 K8的调度器 Scheduler是 Kubernetes的调度器,主要的任务是把定义的 pod分配到集群的节点上,需要考虑以下问题: 公平: ...

  10. 聊聊自学大数据flume中容易被人忽略的细节

    ​前言:老刘不敢保证说的有多好,但绝对是非常良心地讲述自学大数据开发路上的一些经历和感悟,保证会讲述一些不同于别人技术博客的细节. 01 自学flume的细节 老刘现在想写点有自己特色的东西,讲讲自学 ...