为什么HBase是Hadoop中比Cassandra更好的选择?
为什么使用为什么HBase是Hadoop中比Cassandra更好的选择?,hadoop,cassandra,nosql,hbase,cap-theorem,Hadoop,Cassandra,Nosql,Hbase,Cap Theorem,为什么使用HBase比使用Cassandra和Hadoop更好 有人能详细解释一下吗 谢谢我不认为这两种都比其他的好,这不仅仅是一种或另一种。这些是非常不同的系统,每个系统都有各自的优缺点,因此这实际上取决于您的用例。它们肯定可以在同一基础设施中相互补充使用 为了更好地解释这一差异,我想借用一张图片,在这里他们讨论了CAP定理。他们说的基本上是对于任何分布式系统,您必须在一致性、可用性和分区容差之间找到平衡,并且您实际上只能满足其中两个属性。从中可以看出: Cassandra满足可用性和分区容
HBase
比使用Cassandra
和Hadoop
更好
有人能详细解释一下吗
谢谢我不认为这两种都比其他的好,这不仅仅是一种或另一种。这些是非常不同的系统,每个系统都有各自的优缺点,因此这实际上取决于您的用例。它们肯定可以在同一基础设施中相互补充使用 为了更好地解释这一差异,我想借用一张图片,在这里他们讨论了CAP定理。他们说的基本上是对于任何分布式系统,您必须在一致性、可用性和分区容差之间找到平衡,并且您实际上只能满足其中两个属性。从中可以看出:
- Cassandra满足可用性和分区容差属性
- HBase满足一致性和分区容差特性
BulkOutputFormat
)将Hadoop作业输出的数据以本机方式流式传输到Cassandra集群中,Cassandra不再是一个独立的项目
根据我的经验,我发现Cassandra对于随机阅读来说非常棒,而对于扫描来说就不那么棒了
为了给画面增添一点色彩,我在同一个基础架构中使用了这两种方法,HBase的用途与Cassandra截然不同。我主要使用Cassandra进行实时快速查找,而更多使用HBase进行延迟要求较低的大量ETL批处理作业
这是一个值得在博客上发表的问题,因此,我不想继续下去,我想向您指出这两个系统之间的许多关键差异。底线是,IMHO没有更好的解决方案,您应该认真考虑您的用例,看看哪个系统更适合。我们必须比较两个数据库的优缺点,并根据业务需求做出谨慎的决定 Cassandra 优点:
请看一看,这是进一步的细节。MySql如何在您的图表中具有可用性?可用性是如何定义的?这对我来说没有意义,我认为你必须在C或A之间选择,而不是任何2@user1944408当然在每个系统中都有一种折衷的感觉,这只是为了说明滑动依赖性。你不可能在保留一处房产100%的同时获得另一处房产的100%,你必须做出一些权衡。您的文章提出了分区容差的假设,因此当然,您不能同时具有一致性和可用性。从同一本书中可以看出,CA行上的系统可以是分布式事务的两阶段提交,因此当网络分区发生时,系统将阻塞。这意味着当发生分区时,它们不可用,对吗?但HBase也是如此,这意味着HBase是CA。我认为数据库可以是CP或AP,但不能是CA。CP数据库中不包含CA数据库的哪个属性?你能给我举个例子吗?如果发生分区,HBase和分片MySql之间有什么区别?