在NoSql之上使用IMDG会不会提高应用程序的性能?

在NoSql之上使用IMDG会不会提高应用程序的性能?

问题描述:

在NoSql数据库(MongoDB)之上使用IMDG层(Gemfire,HazelCast)可以提高应用程序的性能和可扩展性吗?在NoSql之上使用IMDG会不会提高应用程序的性能?

也许吧。一如既往,“它取决于”。

关于什么?主要是您的数据特征和数据访问模式。有几个方面的考虑(!许多)可能是:

  • 多少数据你有,而且是可行和/或成本效益甚至试图缓存在内存中的它的一部分?

    • 是否存在可用于缓存的“热”子数据?例如,在社交应用程序中,最后x小时的数据几乎驱动所有负载。
  • 为了从缓存中受益,需要达到什么样的缓存命中率? (这是由您的应用程序对延迟的敏感性驱动的)

  • 读取/写入之间的比率是多少?

  • 什么是一致性和可靠性要求?

  • 你的应用程序执行什么类型的读取?复杂的查询?简单的GETs?在哪个混合?

正确使用时,缓存层可以非常有效。但他们不是银弹。不要指望只打一个在你现有的商店,神奇地获得“更快”或“更具扩展性”...