我检查了 Cassandra 和 Infinispan 的主要功能。它们似乎具有并提供非常相似的特征和功能:
- NoSQL 数据存储
- 坚持
- 去中心化
- 支持复制
- 可扩展性
- 容错
- 映射减少支持
- Queries
我发现的一个区别是 Infinispan 不提供可调一致性(每个节点都有相同的数据)。
在了解 Infinispan 时,我遇到了 Cassandra Cache Store(http://infinispan.org/docs/cachestores/cassandra/ http://infinispan.org/docs/cachestores/cassandra/)。它提供数据的持久性。
但为什么我仍然想使用 Infinispan 而不是直接使用 Cassandra?
这些解决方案是否相互补充或者在同一水平上更具竞争力?
Infinispan主要用作分布式缓存,像memcached/hazelcast等。
原生数据被写入在记忆中但你可以坚持他们所说的“缓存存储" -- 有许多缓存存储已准备好(用于 File/Cassandra/Hbase/Mongo),或者您可以自己实现。
我发现的一个区别是 Infinispan 不提供
可调一致性(每个节点都有相同的数据)。
可调一致性和数据分布是两个不同的东西。 “每个节点都有相同的数据”并不正确,这取决于您选择如何对数据进行聚类。 Infinispan 与其他节点一样,提供复制(所有节点存储相同的缓存)和分发(每个节点将负责一系列令牌)。 Cassandra 中的可调一致性意味着您可以选择在将控制权返回给客户端之前应通知多少个节点有关您的读/写操作。
由于多种原因,您可能需要直接使用 Infinispan 而不是 Cassandra。例如,如果您的应用程序服务器中有大量内存,并且您希望保留比 Cassandra 节点内可以存储的内存更大/不同的缓存。您可能需要的其他功能是插入 infinispan-query 模块,以便执行全文搜索,而无需安装 solr/elasticsearch/任何集群或使用其中的事务功能。
恕我直言,这两种产品不能直接比较,它们是针对不同的用例而生的,并提供不同的功能。您可以使用其中任何一个、其中一个或同时使用两者,具体取决于您的应用程序架构和需求。
哈特哈,
卡洛
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)