为什么国内流行hbase,国外反而多用cassandra?

 

Google trend上的数据

为什么国内流行hbase,国外反而多用cassandra?

只有中韩在使用hbase,其他地区大多都在用cassandra,这是什么原因导致的?hbase和cassandra又分别适用于什么场景呢?

 

1、cassandra我认为还是更加数据库一些,hbase的流行主要是依赖hadoop生态的发展。

2、cassandra在大部分公司是DBA及运维同学 维护的,hbase在很多公司是大数据研发团队维护的,大数据研发团队一般有一些源码的能力。DBA及运维同学基本是把cassandra当做类似mysql来看待的。

3、cassandra有比较强的商业支持的,https://mp.weixin.qq.com/s/EnxBaTzDNMhCGvQWsAHS6Q hbase依赖于hadoop生态

4、国内hbase比cassandra火,个人认为 研发为主体 比 DBA及运维 为主体更加会宣传。另外跟 Datastax的商业化策略也有关系。

 

今年也负责了c*,去年也负责过hbase,也越来越明白各种缘由。

c*全球用的最大的是apple,有16w个实例之多。也不能说大公司用hbase多,中小用c*多。不过确实是 中小企业用c*比较容易上手。

国内 hbase流行,应该就是hadoop流行,带动了hbase。 全球是c*流行,目前在10,hbase比较可怜,跌出了20名。

为什么国内流行hbase,国外反而多用cassandra?

有几个区别,可以说下,方便大家选型:

  • c* 很多公司是 DBA或者运维负责 HBase是大数据研发团队负责
  • c*的功能确实比hbase多一些,比如有CQL、类型等。hbase要借助Phoenix。
  • 性能上,理论上c*好一些。c*没有hdfs层,直接对上磁盘。
  • 另外SDK,c*基本支持所有的。hbase通过thrift支持多语言客户端。这快对于使用非JAVA差异还是挺大的
  • 分布式协议那就差异更大 ,c*是 masterless架构,hbase是masterslave且与hdfs分离的架构。
  • c*是内存与磁盘多副本架构,hbase是内存单副本,磁盘用hdfs多副本架构。这个体现在可用上
  • c*支持可调一致性,hbase支持强一致性,hbase内存一个副本,也没有可调的。

hbase的优势在于如果有 大数据研发团队,可以共享hdfs等基础设施

对于个人选择,可以多对比下。

 

Cassandra和HBase对比
(1)Cassandra部署更简单。Cassandra只有一种角色,而HBase除了Region Server外还需要Zookeeper来同步集群状态
(2)数据一致性是否可配置。Cassandra的数据一致性是可配置的,可以更改为最终一致性,而HBase是强一致性的
(3)负载均衡算法不同。Cassandra通过一致性哈希来决定数据存储的位置,而HBase靠Master节点管理数据的分配,将过热的节点上的Region动态分配给负载较低的节点。因此Cassandra的平均性能会优于HBase,但是HBase有Master节点,热数据的负载更均衡。
(4)单点问题。正是由于HBase存在Master节点,因此会存在单点问题。

 

相关文章:

  • 2021-09-20
  • 2021-10-16
  • 2021-08-02
  • 2021-12-15
  • 2021-09-24
  • 2021-11-03
  • 2022-12-23
  • 2022-01-16
猜你喜欢
  • 2021-12-18
  • 2021-11-29
相关资源
相似解决方案