NoSQL(如MongoDB)能否取代数据网格解决方案(如Oracle Coherence)

NoSQL(如MongoDB)能否取代数据网格解决方案(如Oracle Coherence),mongodb,caching,datagrid,oracle-coherence,nosql,Mongodb,Caching,Datagrid,Oracle Coherence,Nosql,我正在寻找关于用一些文档存储替代品(如NoSQL MongoDB)替换现有数据网格(即Oracle一致性)的意见。我考虑了最重要的优点和缺点,并提出: NoSQL 优点: 没有额外的数据库 不需要ORM映射 虽然在按ID查找时可以实现最佳查询效率,但其他查询可以通过map/reduce查询来满足 缺点: 在更新多个集合甚至同一集合中的多行时,很难实现数据一致性 较慢的响应时间?(我怀疑连贯性响应时间可能更好) 读取操作可以返回旧数据 数据网格 专业人士 使用数据网格似乎更容易保持数据的一致性,例

我正在寻找关于用一些文档存储替代品(如NoSQL MongoDB)替换现有数据网格(即Oracle一致性)的意见。我考虑了最重要的优点和缺点,并提出:

NoSQL

优点:

  • 没有额外的数据库
  • 不需要ORM映射
  • 虽然在按ID查找时可以实现最佳查询效率,但其他查询可以通过map/reduce查询来满足
  • 缺点:

  • 在更新多个集合甚至同一集合中的多行时,很难实现数据一致性
  • 较慢的响应时间?(我怀疑连贯性响应时间可能更好)
  • 读取操作可以返回旧数据
  • 数据网格

    专业人士

  • 使用数据网格似乎更容易保持数据的一致性,例如,数据网格成为一个SOR(记录系统)
  • 当数据网格成为SOR时,网格中的所有数据都应始终可用
  • 远程执行者
  • 缺点

  • 额外的数据库意味着额外的开销和系统/应用程序需求
  • 由于存在大量数据和分片,任何类型的查询都可能需要大量时间

  • 它可以,但纸笔系统也可以

    问题是,这是一个可以接受的替代品吗。这完全取决于形势。在某些情况下,NoSQL解决方案比关系解决方案更快、更具可扩展性,但在某些情况下,必须对较长时间运行的事务和关系约束提供某种支持


    视情况而定。

    您已经详细说明了利弊。。。 正如我所说,这取决于

    现有关系系统强制执行的查询是什么

    我们知道nosql数据库中的分区比Realational数据库更容易。。。 所以,如果您切换到mongo,您可以以更便宜、更快的方式扩展您的系统性能


    如果人们现在对您的oracle系统感到满意。不要碰它:)

    是-NoSQL可以取代它。但这在很大程度上取决于你想做什么。 如果您只需要一个简单的文档存储和简单的基于键的查找,那么NoSQL是一个不需要动脑筋的工具

    如果您需要一个企业级解决方案,该解决方案具有付费支持和自定义聚合、条目处理器等功能,那么您可能需要一致性


    我见过有人在Coherence的基础上构建定制的NoSQL解决方案,这是一件非常昂贵的事情。

    Couchbase Server是Oracle Coherence的一个非常好的替代品,特别是对于企业级应用程序。Orbitz是一个很好的例子,大量相干节点被70个Couchbase节点所取代

    您可以在此处阅读有关一致性替换的更多信息:

    Orbitz演示文稿中有关Couchbase的幻灯片也可在此处获得:

    优点:

    • 使用复制和故障切换实现节点的高可用性(避免冷缓存场景)
    • 亚毫秒延迟(基于memcached的内置对象级缓存)
    • 高读/写吞吐量(非常低的锁定粒度)()
    • 文档/项目级别的强一致性
    • TTL/每个文件/项目的有效期
    缺点:

    • 跨多文档更新难以实现一致性。可以使用哨兵来实现。()

    NoSQL解决方案响应速度较慢是不对的。键查找通常更快。