What is the difference between object-oriented and document databases?
I didn’t use object-oriented databases, but when I use document database (RavenDb) I store and read usual object-oriented classes without problems.
Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.
Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.
Lost your password? Please enter your email address. You will receive a link and will create a new password via email.
Please briefly explain why you feel this question should be reported.
Please briefly explain why you feel this answer should be reported.
Please briefly explain why you feel this user should be reported.
I went from db4o (OODB) to RavenDB (document DB). The big difference, that I found, is that object DBs store the full objects, and when an object gets stored with another object within it, that sub-object is stored in full and it’s the latest version of that object. With a document DB, objects are still stored, but they’re organized differently. An aggregate/root object will store parts of a sub-object so that the aggregate/root object is self-contained. When you retrieve the root object, you’re not reaching out and grabbing objects that are related to it.
An OODB would store a Team this way:
A document DB would store a team this way:
PlayerNames would be stored here, because that’s all the team object needs.
RavenDB has a good explanation of the theory of document DBs here:
http://ravendb.net/docs/theory/document-structure-design