在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. HDFS 操作命令

    本地文件系统创建一个文件,输入带姓名学号信息. 查看新建文件所在目录 查看新建文件内容 将此文件上传到HDFS文件系统上的用户目录 HDFS上查看相应目录 HDFS上查看文件内容 HDFS上查看文件大 ...

  2. js基本数据类型--null和undefined的区别

    1. null类型 只有一个值null,逻辑上表示一个空对象的指针,如果要定义一个变量来保存对象,最好将该变量初始化为null,比如let a="",而不要let b这样,其实nu ...

  3. Springboot 使用logback直接将日志写入Elasticsearch

    正常情况下,一般组合为elk 即日志会通过logstash写入es,但本文主要为轻量级项目直接利用appender写入es 首先需要引入包 <dependency> <groupId ...

  4. 职场中究竟什么是ownership,你是一个有ownership的人吗?

    在互联网行业,我们经常用一个标准去评价一个人,这个标准就是ownership.一个有ownership的员工往往会被认为是出色的,被委以重任,从此升职加薪.而一个被打上了没有ownership的人,往 ...

  5. 2020-2021-1 20209307 《Linux内核原理与分析》第九周作业

    这个作业属于哪个课程 <2020-2021-1Linux内核原理与分析)> 这个作业要求在哪里 <2020-2021-1Linux内核原理与分析第九周作业> 这个作业的目标 & ...

  6. 啊!Java虚方法

     什么是Java的虚方法呢,我们首先看看什么是虚函数 虚函数 百度百科的解释为: 在某基类中声明为 virtual 并在一个或多个派生类中被重新定义的[成员函数],用法格式为:virtual 函数返回 ...

  7. Hexo结合Stun静态博客搭建从入门到入土

    摘要 安装npm,安装hexo相关依赖,安装主题stun 修改hexo配置,修改stun配置,部署到github,gitee实现静态访问 给博客加上全局搜索,访问量统计 hexo博客编写模板 tips ...

  8. Python进阶——为什么GIL让多线程变得如此鸡肋?

    本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理 做 Python 开发时,想必你肯定听过 GIL,它经常被 Python 程序员吐槽,说 Pytho ...

  9. javascript之原型、原型链

    一.原型: 1. 任何函数都有prototype属性(对象才有属性,函数也是对象): 2. 函数的prototype属性的值是个对象,这个对象就是原型(对象): 3. 作用:通过构造函数创建出来的对象 ...

  10. Screaming Frog SEO Spider页面分析工具使用方法

    一.  下载地址:https://www.screamingfrog.co.uk/seo-spider/ 二.  使用教程 链接1: https://blog.csdn.net/a055350/art ...