为什么hbase是hadoop中比cassandra更好的选择?

zc0qhyus  于 2021-06-04  发布在  Hadoop
关注(0)|答案(2)|浏览(392)

为什么使用 HBase 一个比使用 CassandraHadoop ?
有人能详细解释一下吗?
谢谢

jum4pzuy

jum4pzuy1#

我们必须比较两个数据库的优缺点,并根据业务需求做出谨慎的决定。
Cassandra
赞成的意见:
满足cap理论的可用性和划分以及最终一致性。
可扩展的大型集群,无单点故障
类似sql的开发语言允许开发人员轻松地从rdbms后台过渡
只要最终的一致性语义对于用例来说足够,cassandra就具有出色的单行读取性能
税收的支持是一大优势
针对写入进行了优化
欺骗:
不支持基于范围的行扫描
不支持原子比较和设置
cassandra不支持协处理器功能`
cassandra支持列名已知的列族的二级索引(不在动态列上)。
cassandra节点不支持cassandra中的聚合
数据库
赞成的意见:
强一致性与满足一致性&帽理论的划分。
rdbms等价触发器和存储过程
hadoop支持
基于范围的行扫描
支持原子比较和设置
针对读进行了优化,由单写主机支持
支持聚合
高可扩展性和数据自动分片
欺骗:
缺乏友好的发展语言
不支持针对单行的读取负载平衡
行间操作不是原子的
如果只使用了一个hbase主机,则会出现单点故障
请看第1条、第2条和本演示文稿以了解更多详细信息。

xj3cbfub

xj3cbfub2#

我不认为这两个都比其他的好,这不只是一个或另一个。这些是非常不同的系统,每个系统都有各自的优点和缺点,因此这实际上取决于您的用例。它们肯定可以在同一基础设施中相互补充使用。
为了更好地解释这种差异,我想借用Cassandra的一幅图:权威指南,在那里他们讨论了cap定理。他们所说的基本上是对于任何分布式系统,您必须在一致性、可用性和分区容限之间找到一个平衡点,并且您实际上只能满足其中的两个属性。由此可以看出:
cassandra满足可用性和分区容限特性。
hbase满足一致性和分区容限特性。

说到hadoop,hbase是构建在hdfs之上的,如果您已经有了hadoop堆栈,那么使用它就非常方便。cloudera也支持它,它是hadoop的标准企业发行版。
但是cassandra也与hadoop有更多的集成,即datastax brisk,它正变得越来越流行。现在,您还可以使用cassandra提供的输出格式,将hadoop作业的输出中的数据以本机方式流式传输到cassandra集群中( BulkOutputFormat 例如),我们不再是Cassandra只是一个独立的项目。
根据我的经验,我发现cassandra对于随机读取非常棒,而对于扫描则不是那么棒
为了给图片增添一点色彩,我在同一个基础架构中使用了这两种方法,hbase的用途与cassandra截然不同。我主要使用cassandra进行实时快速查找,而更多使用hbase进行延迟要求较低的重型etl批处理作业。
这是一个值得在博客上发表文章的问题,因此我不想再继续下去了,我想让你看一篇文章,它总结了两个系统之间的许多关键区别。底线是,imho没有更好的解决方案,您应该认真考虑您的用例,看看哪个系统更适合。

相关问题