我正在寻找一种意见,即用某些文档存储替代现有数据网格(即Oracle Coohrence)替代替代品(例如Oracle Cooherence)。nosql mongodb。我想到了最重要的利弊,并提出了:
nosql
ProS:
- 没有其他数据库
- 无需映射必要的
- 尽管可以通过ID抬头时可以达到最佳查询效率,但可以通过MAP/DISH DISOD查询来满足其他查询
cons:
- 在更新多个集合甚至在同一集合中更新多个行时,很难实现数据一致性
- 响应时间较慢?(我怀疑连贯的回复时间可能会更好)
- 读取操作可以返回旧数据
数据网格
pros
- 使用数据网格似乎更容易保持数据一致,例如数据网格变为SOR(记录系统)
- 随着数据网格变为SOR,所有数据都应始终在网格中可用
- 远程执行者
cons
- 其他数据库意味着其他开销&系统/申请要求
- 有大量的数据和碎片,任何类型的查询都可能需要大量时间
couchbase Server是Oracle连贯性的一个很好的替代品,尤其是对于企业类应用程序。Orbitz是一个很好的例子,其中大量的连贯性节点被70个节点替换。
您可以在此处阅读有关连贯替换的更多信息:http://gigaom.com/cloud/balancing-oracle-oracle-and-open-source-at-as-at-orbitz/
从Orbitz演示文稿中幻灯片也可以在此处提供:http://www.slideshare.net/couchbase/t1-s6-oww-iscouchbase
专利:
- 使用复制和故障转移(避免冷缓存方案) 的节点可高可用
- sub-milli第二延迟(基于内置的内置对象级别缓存)
- 高读/写入吞吐量(锁定的粒度非常低)(http://www.cisco.com/en/us/prod/collod/collateral/switches/ps9441/ps9670/white_paper_c11-708169.pdf)
- 文档/物品级别的强大一致性
- ttl/expry purver/item
cons:
- 很难在多文件更新中实现一致性。可以使用哨兵来实现。(http://www.amainhobbies.com/fromtheceo/2012/09/09/invalidating-couchbase-couchbase-cache-entries-with-sentinels/)
可以,但是笔和纸系统也可以。
问题是,这是可以接受的替代品。这完全取决于情况。在某些情况下,NOSQL解决方案比关系解决方案更快,更可扩展,但是在某些情况下,必须对更长的运行交易和关系约束有某种支持。
。这取决于。
您已经详细介绍了利弊...正如Iwein所说的那样,这取决于...
现有的关系系统有什么疑问?
我们知道,在NOSQL DB中进行的分区要比实地DB的...因此,如果您切换到Mongo,则可以更便宜,更快地扩展系统性能...
如果人们现在对您的Oracle系统感到高兴。不要触摸它:)
是 - nosql可以替换它。但是很大程度上取决于您要做什么。如果您只需要一个简单的文档商店,则具有简单的基于钥匙的查找-NOSQL是不费吹灰之力的。
如果您需要具有付费的支持和功能(例如自定义聚合,输入处理器等)的企业类解决方案。
我已经看到人们在连贯性的基础上构建自定义NOSQL解决方案 - 这是一件非常昂贵的事情。