23

what's the difference between NoSql DB and OO Db?

4 Answers 4

15

NoSQL DB are normally de-normalized (save copy of object data in place of object), where as OODB is normalized database with object relationships. In OODB, data is stored in object at one place and is linked (relation) to other objects.

Due t above difference of de-normalized and normalized, both have their own pros and cons. NoSQL DBs like Mongo are fast to read but poor in writing / updating data. Due to de-normalized nature of NoSQL DBs, it hard to maintain integrity of data with that, where as OODB as Wakanda are easy to manage and have data integrity. You delete one object and all its relations are deleted automatically.

I tried a lot to figure out some good javascript object oriented DB, but as of now could not find any other than www.wakanda.org. In case you know any, kindly share details.

1
  • Sorry for very late update. I found some good alternatives to Wakanda ( OODB) and those OrientDB and ArangoDB. Both are good for OLTP apps as we can manage the DB in normalized manner. Commented Apr 20, 2015 at 9:52
6

An object-oriented database, like db4o, would be considered one of the alternatives presented by NoSQL, which means Not Only SQL. It's a set of alternatives to relational databases: Voldemort, Hadoop, MongoDB, CouchDB, BigTable, Neo4J, db4o and others.

6
  • 3
    I would characterize Neo4J as a graph database, not an object-oriented database. Also, I disagree with your statement that NoSQL is about alternatives to relational databases. Stuff like Rel or Tutorial D, which are relational, are very much in the scope of NoSQL. Also: what does a graph database store if not relations? Commented Sep 11, 2010 at 17:31
  • 3
    +1 for pointing out that NoSQL means "Not only SQL", and not "No SQL"
    – davehauser
    Commented Sep 11, 2010 at 17:48
  • You are correct, Jorg. My mistake. I was thinking of db4o. I'll correct it.
    – duffymo
    Commented Sep 11, 2010 at 17:51
  • Relational in the sense of tables, columns, and joins as traditionally done by RDBMS systems like Oracle, MySQL, etc.
    – duffymo
    Commented Sep 11, 2010 at 17:53
  • So is an OODB considered a NoSQL db?
    – User
    Commented Dec 4, 2016 at 20:47
3

NoSQL is a movement, OODB is a technology. Or in other words: NoSQL is a group of people, an OODB is a piece of code.

2

There's no strict definition of "NoSQL", so the differences are largely semantic. Generally an Object Oriented Database is considered a subset (a kind of) NoSQL Database. However, in general an OO DB will still have ACID-like locking to keep consistency, while NoSQL will generally have some kind of "eventually consistent" or partial locking semantics. A NoSQL's schema may be object-based or may be key-value based (or something else), making it a more general term.

Not the answer you're looking for? Browse other questions tagged or ask your own question.