Cassandra和HBase的区别

【Cassandra和HBase的区别】下表指定了Cassandra和HBase之间的主要区别:

HBase的 卡桑德拉
HBase is based on Bigtable (Google) Cassandra基于DynamoDB(Amazon)。它最初是由前亚马逊工程师在Facebook上开发的。这就是Cassandra支持多数据中心的原因之一。
HBase使用Hadoop基础架构(Zookeeper, NameNode, HDFS)。部署Hadoop的组织必须具有Hadoop和HBase的知识 Cassandra与Hadoop分开启动和发展, 其基础架构和操作知识要求与Hadoop不同。但是, 对于分析, 许多Cassandra部署使用Cassandra + Storm(使用zookeeper)和/或Cassandra + Hadoop。
HBase-Hadoop基础结构具有几个“活动部分”, 包括Zookeeper, 名称节点, HBase主服务器和数据节点, Zookeeper是集群的并且自然地具有容错能力。需要对名称节点进行群集以容错。 Cassandra使用单个节点类型。所有节点均相等, 并执行所有功能。任何节点都可以充当协调器, 从而确保没有Spof。当然, 添加风暴或Hadoop会增加基础架构的复杂性。
HBase非常适合进行基于范围的扫描。 Cassandra不支持基于范围的行扫描, 这在某些用例中可能会受到限制。
HBase提供了跨广域网的HBase集群的异步复制。 Cassandra随机分区提供了跨WAN的单行的行复制。
HBase仅支持有序分区。 Cassandra正式支持有序分区, 但是Cassandra的生产用户都不使用有序分区, 这是因为它会产生“热点”以及此类热点导致的操作困难。
由于有序分区, HBase可以轻松地水平扩展, 同时仍支持Rowkey范围扫描。 如果将数据存储在Cassandra中的列中以支持范围扫描, 则Cassandra中行大小的实际限制是10兆字节。
HBase支持原子比较和设置。 HBase支持连续的事务。 Cassandra不支持原子比较和设置。
HBase不支持针对单个行的读取负载平衡。单行一次仅由一个区域服务器提供服务。 Cassandra将支持对单个行的读取负载平衡。
布隆过滤器可以在HBase中用作索引的另一种形式。 Cassandra使用布隆过滤器进行键查找。
HBase中的协处理器功能支持触发器。 Cassandra不支持类似协处理器的功能。

    推荐阅读