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/

相关文章:

python - MongoDB Spark 连接器 py4j.protocol.Py4JJavaError : An error occurred while calling o50. 加载

mongodb - 如何验证 ObjectID

node.js - 在 MongoDB 中删除早于 10 分钟的记录?

android - 如何检查数据是否已经在缓存中 OkHttp

java - 服务器集群的缓存方法

java - 在 Java CDI 拦截器中获取调用者类

c# - 绑定(bind)自定义 DataGridHeader MVVM

php - mongodb 聚合中的 $limit 作为可选参数?

c# - 如何删除 datagrid wpf 中的选定行?

gwt - 如何在 DataGrid 中为单元格创建拖放