Cassandra 可以与 HBase 相媲美吗?

Is Cassandra comparable to HBase?

HBase 以键值存储和基于键的 .get 和 .put 函数随机读取而闻名。 Cassandra 是满足键值存储需求的更好选择吗?是否支持基于key的随机读?如果是这样,在什么情况下我应该在 Spark Streaming 应用程序中选择 Cassandra 而不是 HBase?

Cassandra a better choice for suiting a requirement of key-value store?

是的,这是不错的选择之一。

  • Cassandra 具有去中心化架构。任何节点都可以执行任何操作。它根据 CAP 定理提供 AP(Availability,Partition-Tolerance)。

  • 最终一致

Can it support random reads based on key?

是的。

If so, in which conditions should I choose Cassandra over HBase in a Spark Streaming application?

HBASE 和 CASSANDRA 都可以用于流应用程序。 CASSANDRA 的自然选择是它的高可用性..

Question in title : Is Cassandra comparable to HBase?

详情见下文...


CAP_theorem

  • 一致性(所有节点同时看到相同的数据)
  • 可用性(保证每个请求都会收到有关成功或失败的响应)
  • 分区容忍度(尽管任意消息丢失或部分系统故障,系统仍继续运行)

Conclusion : CASSANDRA supports AP, if you are looking for that you can go ahead with CASSANDRA

Note : As per CAP theorem, a distributed system CANT satisfy all three of these guarantees at the same time.