Can NoSQL (e.g. MongoDB) replace Data Grid solutions e.g. Oracle Coherence

I'm looking for an opinion on replacing existing Data Grid (ie Oracle Coherence) with some document store alternative eg NoSQL MongoDB. I was think about the most important pros and cons and came up with:

NoSQL

Pros:

  • No additional database
  • No ORM mapping necessary
  • Although the best query efficiency can be achieved when looking up by ID, other queries can be satisfied by map/reduce queries
  • Cons:

  • Quite difficult to achieve data consistency when updating multiple collections or even multiple rows in a same collection
  • Slower response time ? (i suspect that Coherence reponse time might be better)
  • A read operation can return old data
  • Data Grid

    Pros

  • With a Data Grid it seems easier to keep data consistent eg the data grid becomes is a SOR (System of Record)
  • As Data Grid becomes SOR, all data should always be available in the grid
  • Remote Executors
  • Cons

  • Additional database means additional overhead & system/application requirements
  • With a huge amount of data and sharding in place any kind of queries can take a lot of time

  • Couchbase Server is a very good replacement for Oracle Coherence particularly for enterprise class applications. Orbitz is a great example where large number of nodes of Coherence were replaced by 70 nodes of Couchbase.

    You can read more about the Coherence replacement here: http://gigaom.com/cloud/balancing-oracle-and-open-source-at-orbitz/

    Slides from an Orbitz presentation about Couchbase are also available here: http://www.slideshare.net/Couchbase/t1-s6-oww-usescouchbase

    Pros:

  • High availability of nodes using replication and failover (avoid cold cache scenarios)
  • Sub-milli second latencies (built-in object level cache based on memcached)
  • High read / write throughput (very low granularity of locking) ( http://www.cisco.com/en/US/prod/collateral/switches/ps9441/ps9670/white_paper_c11-708169.pdf)
  • Strong consistency at a document / item level
  • TTL / Expiry per document / item
  • Cons:

  • Difficult to achieve consistency across multi-document updates. Can be achieved using sentinels. ( http://www.amainhobbies.com/FromTheCEO/2012/09/09/invalidating-couchbase-cache-entries-with-sentinels/ )

  • It can, but so can a pen and paper system.

    The question is, will it be an acceptable replacement. That wholly depends on the situation. In some cases a NoSQL solution is faster, more scalable than a relational solution, but in some situations it is essential to have some kind of support for longer running transactions and relational constraints.

    It depends.


    You already gave the pros and cons in detail... as iwein said it depends...

    What are the queries that existing relational system forced?

    we know that partitioning in nosql db's are easier than realtional db's... So if you switch to mongo you can extend your systems performance more cheaper and quicker way...

    if people are happy on your oracle system now. don't touch it :)

    链接地址: http://www.djcxy.com/p/66410.html

    上一篇: NoSQL DB上的查询问题中的聚集函数,缺少类型,熵

    下一篇: NoSQL(例如MongoDB)可以取代数据网格解决方案,例如Oracle Coherence