与HBase对比,Cassandra的优点特性是什么?

在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上手比较困难。“
相关文章
相关标签/搜索