I'm looking for an opinion on replacing existing Data Grid (i.e. Oracle Coherence) with some document store alternative e.g. 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 e.g. 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