In the last couple of hours I read two interesting comparisons of object-oriented databases and NoSQL stores.
The first one, published on the ☞ ODBMS Industry Watch blog, comes from Anat Gafni, VP of Engineering at db4objects which suggests using the following criteria:
By each dimension of the purpose of OODBS:
- persistent (could be accomplished by other methods like: replicating to other machines, using non-volatile caches, etc.)
- Being queriable
- Scalable (beyond what can be in cache, but could be distributed instead)
- Objects vs.Relations
- can express and query based on complex relationships among data items
- can be shared among multiple “clients”
Many of these other database are similar to oodbs in item 1, 3 and 4. I am not sure they have capabilities in 3, 5 and 6 above.
A couple of criteria are either pretty vague or too generic (f.e. 2, 5, 6), but I’d say the comparison is pretty fair.
The other short comparison was given by Mike Dirolf in a MongoDB presentation:
while they use fairly similar concepts, the main difference is that in OODB you are saving instances, in document databases you are saving data.
Anything else we should be adding to these?