HBase 和 Cassandra 之间有什么区别?
在了解它们之间的区别之前,让我们先了解一下 HBase 和 Cassandra 的概念。
Cassandra
Cassandra 具有不同的基础架构。Cassandra 使用不同的 DBMS 及其基础架构。当 Cassandra 使用不同的 DBMS 时,时间复杂度会增加。
Cassandra 支持有序分区。这可能导致行大小达到 10 MB。
在 Cassandra 中,我们使用种子节点。这些节点执行集群间通信。在这里,我们使用内部通信。Casandra 具有轻量级事务。
Cassandra 基于 Jbury shell。但它有特定的查询语言。即 CQL,它以 SQL 为模型。在文档方面,它比 HBase 更好。它使用布隆过滤器进行键查找
HBase
HBase 利用 Hadoop 基础架构。这些有几个部分,如 Zookeeper、数据节点。
HBase 不支持有序分区。它提供协处理器功能,并支持触发器。它使用主节点。这些节点监控和协调区域服务器的操作。
在 HBase 中,我们使用节点间通信。HBase 有两种事务,分别是“检查并放入”和“读取-检查-删除”。它基于 JRuby shell,在文档方面不如 Cassandra 好。
HBase 使用布隆过滤器作为索引形式。
区别
HBase 和 Cassandra 之间的主要区别如下:
HBase | Cassandra |
---|---|
HBase 利用 Hadoop 基础架构 | Cassandra 使用不同的 DBMS 及其基础架构 |
它基于 Bigtable | 它基于 DynamoDB |
HBase 使用 JAVA 编写 | Cassandra 使用 JAVA 编写 |
HBase 没有二级索引。 | Cassandra 具有受限的二级索引。 |
HBase 具有分布式数据库 | Cassandra 具有去中心化数据库 |
HBase 具有触发器 | Cassandra 没有触发器 |
它提供更高的一致性 | 它提供较低的一致性 |
HBase 处理多达 1000 个节点 | Cassandra 处理多达 400 个节点 |
它比 Cassandra 复杂性低 | 它更复杂。 |
广告