Concepts
   Home >  Object Oriented Concepts > 

Object-Oriented Database

Object-oriented databases (OODBs) evolved from a need to support object-oriented programming and to reap the benefits, such as system maintainability, from applying object orientation to developing complex software systems. The first OODBs appeared in the late 1980s. Martin provides a complete list of these early OODBs. OODBs are based on the object model and use the same conceptual models as Object-Oriented Analysis, Object-Oriented Design and Object-Oriented Programming Languages. Using the same conceptual model simplifies development; improves communication among users, analysts, and programmers; and lessens the likelihood of errors.

Technical Detail

OODBs are designed for the purpose of storing and sharing objects; they are a solution for persistent object handling. Persistent data are data that remain after a process is terminated.

There is no universally-acknowledged standard for OODBs. There is, however, some commonality in the architecture of the different OODBs because of three necessary components: object managers, object servers, and object stores. Applications interact with object managers, which work through object servers to gain access to object stores.

OODBs provide the following benefits:

  • OODBs allow for the storage of complex data structures that can not be easily stored using conventional database technology.
  • OODBs support all the persistence necessary when working with object-oriented languages.
  • OODBs contain active object servers that support not only the distribution of data but also the distribution of work (in this context, relational database management systems (DBMS) have limited capabilities).

In addition, OODBs were designed to be well integrated with object-oriented programming languages such as C++ and Smalltalk. They use the same object model as these languages. With OODBs, the programmer deals with transient (temporary) and persistent (permanent) objects in a uniform manner. The persistent objects are in the OODB, and thus the conceptual walls between programming and database are removed. As stated earlier, the employment of a unified conceptual model greatly simplifies development.

Usage Considerations

The type of database application should dictate the choice of database management technology. In general, database applications can be categorized into two different applications:

  1. Data collection applications focus on entering data into a database and providing queries to obtain information about the data. Examples of these kinds of database applications are accounts payable, accounts receivable, order processing, and inventory control. Because these types of applications contain relatively simple data relationships and schema design, relational database management systems (RDBMs) are better suited for these applications.
  2. Information analysis applications focus on providing the capability to navigate through and analyze large volumes of data. Examples of these applications are CAD/CAM/CAE, production planning, network planning, and financial engineering. These types of applications are very dynamic and their database schemas are very complex. This type of application requires a tightly-coupled language interface and the ability to handle the creation and evolution of schema of arbitrary complexity without a lot of programmer intervention. Object-oriented databases support these features to a great degree and are therefore better suited for the information analysis type of applications.

OODBs are also used in applications handling BLOBs (binary large objects) such as images, sound, video, and unformatted text. OODBs support diverse data types rather than only the simple tables, columns and rows of relational databases.

Maturity

Claims have been made that OODBs are not used in mainstream applications, are not scalable, and represent an immature technology. Two examples to the contrary include the following:

  • Northwest Natural Gas uses an OODB for a customer information system. The system stores service information on 400,000 customers and is accessed by 250 customer service representatives in seven district offices in the Pacific Northwest.
  • Ameritech Advanced Data Services uses an OODB for a comprehensive management information system that currently includes accounting, order entry, pricing, and pre-sales support and is accessed by more than 200 people dispersed in a five state region.

Both of these applications are mainstream and represent databases well over a gigabyte in size; this highlights the fact that OODBs do work well with large numbers of users in large applications.

Costs and Limitations

The costs of implementing OODB technology are dependent on the required platforms and numbers of licenses required. The costs of the actual OODB software are comparable to relational database management systems on similar platforms. The use of OODBs requires an educational change among the software developers and database maintainers and requires a corporate commitment to formal training in the proper use of the OODB features.

Alternatives

An alternative is relational database management systems (RDBMs).