How does Apache Cassandra mash with Infinispan?

旧街凉风 提交于 2019-12-07 21:32:25

问题


I have checked the main features of Cassandra and Infinispan. They seem to have and deliver pretty similar characteristics and functionalities:

  • NoSQL data store
  • persistance
  • decentralized
  • support replication
  • scalability
  • fault tolerant
  • MapReduce support
  • Queries

One difference I have found out is that Infinispan does not provide tunable consistency (every node has the same data).

When learning about the Infinispan I came across Cassandra Cache Store (http://infinispan.org/docs/cachestores/cassandra/). It provides persistance of data.

But then why I would still want to use Infinispan and not Cassandra directly?

Do these solutions complement each other or they are more competing on the same level?


回答1:


Infinispan is mainly used as a distributed cache, like memcached/hazelcast and so on. Natively data are written in memory but you can persist them into what they call "cache stores" -- there are many cache-stores ready (for File/Cassandra/Hbase/Mongo) or you can make your own implementation.

One difference I have found out is that Infinispan does not provide tunable consistency (every node has the same data).

Tunable consistency and data distribution are two different things. It's not true that "every node has the same data", it depends on how you choose to cluster data. Infinispan, like others, offers both replication (all nodes stores same cache) and distribution (each node will be responsible for a range of tokens). Tunable consistency in Cassandra means that you can choose how many nodes should be informed about your r/w operation before returning the control to the client.

You might need to use Infinispan and not Cassandra directly for many reasons. If for instance you have huge amount of memory in your application servers and you want keep a bigger/different cache than what you can store inside your Cassandra nodes. Other feature you might need is to plug the infinispan-query module in order to perform full-text searches without installing a solr/elasticsearch/whatever cluster or use the transactional capability within is.

IMHO these two products does not compare directly, they're born for different use cases and offers different features. You can use any, one or both, depend on what's your application architecture and needs.

HTH, Carlo



来源:https://stackoverflow.com/questions/25401828/how-does-apache-cassandra-mash-with-infinispan

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!