在Cassandra上使用淡褐色铸造是否有任何好处

时间:2017-08-21 03:46:06

标签: cassandra scalability hazelcast nosql

我想为我的Web应用程序实现会话存储。这是我的申请资料。

  1. 与会话相关的信息不会发生太大变化,但是 它有时会改变。
  2. 会话读取(session.getAttribute())比写入(session.setAttribute())更频繁。
  3. 我不想处理基于主节点的架构(如redis)。
  4. 与会话相关的数据很少,但会话数可能很大。
  5. 查找始终采用键值的形式,如哈希映射。
  6. 我很满意最终的一致性。
  7. 我希望能够指定复制因子。即将保存给定会话数据的节点数
  8. 我只是在寻找不会因上述功能而产生许可证费用的开源解决方案。
  9. 目前我想要存储多达10,000个会话,每个会话10kb数据(平均),但最终我想扩展到100,000个或更多会话!
  10. 在我的应用程序中,hazelcast已被用于其他一些功能。但我不希望那是决定因素。 Cassandra似乎满足了我的所有要求,似乎很受欢迎。有什么理由我应该选择关于卡桑德拉的淡化?

2 个答案:

答案 0 :(得分:9)

免责声明:Hazelcast员工

总的来说,我认为如果你可以用Hazelcast与Cassandra或Cassandra交换Hazelcast,其中一个工具就被误用了。 我们有很多人使用它们作为伴侣,意味着Cassandra作为存储层,而Hazelcast作为缓存层,但Cassandra不是缓存,而Hazelcast不是数据库。

如果你想将你的存储持久化到磁盘上,可以选择Cassandra(可能使用Hazelcast添加缓存),如果你只想分发,请使用Hazelcast。后来的情况,特别是如果它"并不重要"如果您(由于某种原因或某种原因)重新启动群集,如果您偶尔会松开会话。

答案 1 :(得分:5)

我们在项目中使用它们。我们使用Cassandra作为持久存储和Hazelcast,用于临时和频繁更改的数据(例如分布式队列和同步原语)。

  

我应该选择在cassandra上使用hazelcast吗?

在我看来,从开发人员的角度来看,Hazelcast更容易,并且它不需要像Cassandra那样在生产环境(深度配置和调整,重复,重新启动......)上获得如此多的关注,因此Hazelcast的支持成本更低。 / p>