What is Object-Oriented Database?

greenspun.com : LUSENET : DBAzine : One Thread

I have met a dB sale last week. He told me that there is a new concept dB it's call OOD ==> Object-Oriented Database. But have no knowledge about OOD, do I want someone to tell me. What is Object-Oriented Database? How does it work? And What does it differnt form Relation DB. Thank You

-- Watchara Watanarawee (Watchara@mfu.ac.th), February 19, 2001


One of the best sites on this topic is at: http://www.cs.cmu.edu/afs/cs.cmu.edu/user/clamen/OODBMS/README.html at the Carnegie Mellon computer science school Hope it helps you get started! :-)

-- Christian Sarkar (christian_sarkar@bmc.com), February 19, 2001.

A quick internet search returned the following Web site which might help explain what an object-oriented database is: http://www.dis.port.ac.uk/~chandler/OOLectures/database/database.htm.

In brief, an object-oriented database stores structured data along with methods (i.e. functions and procedures) for accessing and manipulating the data. While traditional relational databases are based on entities and dynamic associative relations between those entities, object-oriented databases manage complex objects with relatively static aggregate/hierarchical relationships. The idea is that an OODB will perform better in support of applications that deal with complex objects since it stores the data closer to the way that the application represents it internally. Thus, it does not have to reconstruct the complex data structures on the fly each time the application needs it. On the other hand, OODBs are not as flexible as relational databases and are more susceptible to changes in application design.

-- Jeff Omo (jeff_omo@bmc.com), February 19, 2001.

To follow on to Jeff's answer:

For ad hoc and unplanned data access a relational database will outperform an object database. The best analogy I've heard is to think about a car. The relational database has to assemble the car from multiple parts every time you want to drive it. The object database just stores the car. But if your travel needs change, for example, you want to go offroading or cross the water, then the relational database can build you an SUV or a boat. But the object database will force you to use that car. This is a simplistic analogy, but it kind of explains the difference.

Addtionally, object database systems are only a niche technology. They will never overtake relational database systems in terms of market share because they are less flexible, more difficult to use and there is no unifying object model of data (such as the relational model).

There are several good web sites for additional OODBMS research. Start with the Object-Oriented Database System Manifesto at http://www.cs.cmu.edu/Web/People/clamen/OODBMS/Manifesto/index.html

Then try the OO FAQ at http://iamwww.unibe.ch/~scg/OOinfo/FAQ/index.html and the Object Data Management Group at http://www.odmg.org

Good luck!

-- Craig S. Mullins (Craig_Mullins@BMC.com), February 23, 2001.

Moderation questions? read the FAQ