下表列出了 Cassandra 和 HBase 的主要区别:
HBase | Cassandra |
---|---|
HBase 基于 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、Name Node、HBase master 和数据节点组成,Zookeeper 是集群的,自然是容错的。 Name Node 需要集群才能容错。 | Cassandra 使用单一节点类型。所有节点都是平等的并执行所有功能。任何节点都可以充当协调器,确保没有 Spof。当然,添加storm或Hadoop会增加基础设施的复杂性。 |
HBase 非常适合进行基于范围的扫描。 | Cassandra 不支持基于范围的行扫描,这在某些用例中可能会受到限制。 |
HBase 提供跨广域网的 HBase 集群的异步复制。 | Cassandra 随机分区提供跨广域网单行的行复制。 |
HBase 只支持有序分区。 | Cassandra 官方支持有序分区,但 Cassandra 的生产用户没有使用有序分区,因为它会产生“热点”以及此类热点导致的操作困难。 |
由于有序分区,HBase 将很容易水平扩展,同时仍然支持 Rowkey 范围扫描。 | 如果数据存储在 Cassandra 中的列中以支持范围扫描,则 Cassandra 中行大小的实际限制是 10 兆字节。 |
HBase 支持原子比较和设置。 HBase 支持行内事务。 | Cassandra 不支持原子比较和设置。 |
HBase 不支持针对单行的读取负载平衡。 | 同一行一次由一个区域服务器提供服务。 Cassandra 将支持针对单行的读取负载平衡。 |
布隆过滤器可以在 HBase 中用作另一种形式的索引。 | Cassandra 使用布隆过滤器进行键查找。 |
HBase 中的协处理器功能支持触发器。 | Cassandra 不支持类似协处理器的功能。 |
欢迎任何形式的转载,但请务必注明出处,尊重他人劳动成果。
转载请注明:文章转载自 有区别网 [http://www.vsdiffer.com]
本文标题:Cassandra和HBase的区别
本文链接:https://www.vsdiffer.com/vs/cassandra-vs-hbase.html
免责声明:以上内容仅是站长个人看法、理解、学习笔记、总结和研究收藏。不保证其正确性,因使用而带来的风险与本站无关!如本网站内容冒犯了您的权益,请联系站长,邮箱: ,我们核实并会尽快处理。