views:

79

answers:

3

whats difference between NoSql DB and OO Db?

+3  A: 

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.

duffymo
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?
Jörg W Mittag
+1 for pointing out that NoSQL means "Not only SQL", and not "No SQL"
Dave
You are correct, Jorg. My mistake. I was thinking of db4o. I'll correct it.
duffymo
Relational in the sense of tables, columns, and joins as traditionally done by RDBMS systems like Oracle, MySQL, etc.
duffymo
A: 

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.

Jörg W Mittag
A: 

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.

samkass