在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. Day1 字符串格式化

    1.占位符方式:占位符: %d 整数 %012d 数字位数至少长度为12位,不足的前面加0填充. >>> 'Hello,%s,%012d' % ('a',12345678901234 ...

  2. vscode 编辑python文件

    1 安装python 自动姿势 Chinese # 换成中文 path Autocomplete 路径自动补全 Vetur vue文件补全 配置文件 首选项-设置 应用程序 在 seyying.jso ...

  3. Jmeter +Maven+jenkins+eclipse 接口自动化测试

    背景: 首先用jmeter录制或者书写性能测试的脚本,用maven添加相关依赖,把性能测试的代码提交到github,在jenkins配置git下载性能测试的代码,配置运行脚本和测试报告,配置运行失败自 ...

  4. c预处理和宏

    文件的预处理 #include "xxx.h" 1 首先查找当前源文件所在的路径 2 查找工程的头文件搜索路径 #include <xxxx.h> 查找工程的头文件搜索 ...

  5. Go加密算法总结

    前言 加密解密在实际开发中应用比较广泛,常用加解密分为:"对称式"."非对称式"和"数字签名". 对称式:对称加密(也叫私钥加密)指加密和解 ...

  6. DRF比Django的认证和权限高在哪里

    Django可以用LoginRequiredMixin和PermissionRequiredMixin给类视图添加认证和权限,DRF做了高级封装,提供了更简洁的实现方式.我们通过继续学习官网教程来进行 ...

  7. SSRF深入学习

    爆出来的直接关于SSRF的漏洞有俩,①是weblogic,②是discuzz SSRF漏洞最主要的部分并不是SSRF 探测内网,而是可以写shell,反弹shell,虽然很多厂家把它归为低危漏洞,仔细 ...

  8. wildfly 21的domain配置

    目录 简介 wildfly模式简介 domain controller的配置 Host controller的配置文件 忽略域范围的资源 Server groups Servers 总结 简介 wil ...

  9. BP暴力破解

    BurpSuite暴力破解 1.设置代理 首先要用phpstudy打开Mysql和Apache,然后将设置浏览器代理,地址127.0.0.1  端口8080 2.进入dvwa靶场 进入dvwa时,要用 ...

  10. React Native Android 环境搭建

    因为工作需要,最近正在学习React Native Android.温故而知新,把学习的内容记录下来巩固一下知识,也给有需要的人一些帮助. 需要说明的是,我刚接触React Native也不久,对它的 ...