Why would I need an “Object-Oriented Database”?
Object-oriented databases are a natural choice for object-oriented software. If you think about it, as software handles objects containing data and relationships to other objects, that data and all it’s relationships need to be stored and retrieved from long-term storage completely intact. This is difficult to accomplish with traditional 2-dimensional, table-based databases consisting of columns and rows. Another draw back to traditional databases is that they use a separate computer language called SQL to interact with the data. This means that when a programmer sits down to write code for a new program, they not only need to write code in one language for the program interface, but also in another language (SQL) to access the database.
One solution our company decided to implement, eliminating the headache of the 2-dimensional, two language coding problem, was to store object data in a format native to the software. This eliminates the need for a separate SQL database. There are many formats available with which object data can be stored and retrieved. However, the magic is in handling the data between storage and object modes, as well as devising methods of cataloging and querying data.