Apache Cassandra如何与Infinispan混合?

时间:2014-08-20 09:57:19

标签: cassandra infinispan

我已经检查了Cassandra和Infinispan的主要功能。他们似乎拥有并提供了非常相似的特征和功能:

  • NoSQL数据存储
  • 持久性
  • 分散
  • 支持复制
  • 可扩展性
  • 容错
  • MapReduce支持
  • 查询

我发现的一个区别是Infinispan不提供可调整性(每个节点都有相同的数据)。

在了解Infinispan时,我遇到了Cassandra Cache Store(http://infinispan.org/docs/cachestores/cassandra/)。它提供了持久的数据。

但是为什么我仍然想要直接使用Infinispan而不是Cassandra?

这些解决方案是否相互补充,或者它们在同一级别上更具竞争力?

1 个答案:

答案 0 :(得分:9)

Infinispan主要用作分布式缓存,如memcached / hazelcast等。 本机数据在内存中写入 ,但您可以将它们保留在他们称之为" 缓存存储" - 准备好了许多缓存存储(对于File / Cassandra / Hbase / Mongo),或者您可以自己实现。

  

我发现的一个区别是Infinispan没有提供   可调整性(每个节点都有相同的数据)。

可调整的一致性和数据分布是两回事。并不是每个节点都有相同的数据",这取决于您选择如何聚类数据。与其他人一样,Infinispan提供复制(所有节点都存储相同的缓存)和分发(每个节点将负责一系列令牌)。 Cassandra中的可调谐一致性意味着您可以在将控件返回给客户端之前选择应该通知有关您的r / w操作的节点数。

出于多种原因,您可能需要直接使用Infinispan而不是Cassandra。例如,如果您的应用程序服务器中有大量内存,并且您希望保留比Cassandra节点中存储的更大/不同的缓存。您可能需要的其他功能是插入infinispan-query模块以执行全文搜索,而无需安装solr / elasticsearch /任何群集或使用is中的事务功能。

恕我直言这两个产品没有直接比较,它们为不同的用例而生,并提供不同的功能。您可以使用任何一个,一个或两个,取决于您的应用程序架构和需求。

HTH, 卡罗