任务:让我们想象一下,当两个语句都为真时,存在较高的并发环境:
您想在用户事件时立即响应用户。为此,您需要从数据存储中获取一些数据并对其进行处理;
您的系统需要大量的读/写操作,因此保持数据一致性非常重要。
让它成为流行的酒店预订系统。
IMDG:
据我了解,当我们需要立即处理大量数据(根据用户事件,服务请求等)时,应使用IMDG。因此,它似乎是受欢迎的酒店预订系统的理想选择。
IMDG与NoSQL(+分布式缓存):
IMDG有一个缺点-成本。 RAM更加昂贵,IMDG也离开源还很远。而且,有些文章声称您不需要IMDG,并且NoSQL足够好。
题:
因此,对于您如何确定NoSQL何时开始卡住以及您需要使用In Memory Data Grid的经验,我将不胜感激。
最佳答案
全面披露:我为Alachisoft工作。
我不同意您的说法,即大多数IMDG都不是开源的。实际上,情况恰恰相反。有许多开源IMDG。例如,我公司开发了一个称为NCache的In-Memory Data Grid for .NET和一个名为TayzGrid的In-Memory Data Grid for Java。两者都是开源的,已经在市场上存在了10年!
另外,我认为这不应该是IMDG与NoSQL(+分布式缓存)的争论。在两种情况下都应该是关系型vs.NoSQL,并且IMDG存在。顺便说一下,某些IMDG经常使用Distributed Cache,因为该名称在.NET领域更受欢迎。
因此,无论您使用NoSQL还是Relational,我都建议您使用IMDG。这完全取决于您所需的性能类型。如果关系数据库足以满足您的要求,那么请坚持使用它。
另外,如果您需要支持或计划将其用于企业,请查看这些开源IMDG,然后您始终可以获取付费许可证以继续使用功能更丰富的版本和支持。