mongodb - NoSQL(例如 MongoDB)能否取代数据网格解决方案,例如甲骨文一致性

标签 mongodb caching datagrid oracle-coherence nosql

<分区>

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

NoSQL

优点:

  1. 没有额外的数据库
  2. 无需 ORM 映射
  3. 虽然通过ID查找可以达到最好的查询效率,但其他查询可以通过map/reduce查询来满足

缺点:

  1. 在更新多个集合甚至同一个集合中的多行时,很难实现数据一致性
  2. 响应时间变慢? (我怀疑 Coherence 响应时间可能更好)
  3. 读取操作可以返回旧数据

数据网格

优点

  1. 使用数据网格似乎更容易保持数据的一致性,例如数据网格变成了一个 SOR(记录系统)
  2. 随着数据网格成为 SOR,所有数据都应始终在网格中可用
  3. 远程执行者

缺点

  1. 额外的数据库意味着额外的开销和系统/应用程序要求
  2. 有了海量数据和适当的分片,任何类型的查询都可能花费大量时间

最佳答案

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

您可以在此处阅读有关 Coherence 替代品的更多信息:http://gigaom.com/cloud/balancing-oracle-and-open-source-at-orbitz/

有关 Couchbase 的 Orbitz 演示文稿的幻灯片也可在此处获得:http://www.slideshare.net/Couchbase/t1-s6-oww-usescouchbase

优点:

缺点:

关于mongodb - NoSQL(例如 MongoDB)能否取代数据网格解决方案,例如甲骨文一致性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12990009/

相关文章:

mongodb - 如何在 Mongo 聚合管道中获取限制之前的计数

java - 在 Java 对象被垃圾收集之前对其进行回调

algorithm - 为什么在排序数组中较大搜索值的实际运行时间小于较低搜索值?

c# - 如果更改其中的项目,则 ItemsSource 到 ObservableCollection<T> 不会刷新

c# - 如何在 wpf 的数据网格中获取以编程方式编写的组合框的值?

java - 如何在 Android 中连接到 MongoDB 数据库?

Java + MongoDB : Updating fields in amount of document

C# MongoDB AutoGenerateId 不带属性

flutter - 如何为 Dart/Flutter 包设置镜像/公司范围的缓存?

c# - ObservableList ReadOny 数据网格