General Navigation Buttons - Home | Search | Contact Us | Site Map | Whats New
products graphic
white space
products
Software Technology Roadmap
Background & Overview
Technology Descriptions
Defining Software Technology
Technology Categories
Template for Technology Descriptions
Taxonomies
Glossary & Indexes
white space
About SEI|Mgt|Eng|Acq|Collaboration|Prod.& Services|Pubs
pixel
Rollover Popup Hints for Topic Navigation Buttons above
pixel
Object-Oriented Database


Status

In review

Purpose and Origin

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 [Martin 93]. 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 [Martin 93].

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) [Vorwerk 94].
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 [Tkach 94].

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 [Desanti 94].
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 [Object 96]. 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 [Object 96].

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).

Index Categories

This technology is classified under the following categories. Select a category for a list of related topics.

Name of technology

Object-Oriented Database

Application category

Database Design (AP.1.3.2)
Database Administration (AP.1.9.1)
Databases (AP.2.6)

Quality measures category

Maintainability (QM.3.1)

Computing reviews category

Database Management (H.2)

References and Information Sources

[Desanti 94] Desanti, Mike & Gomsi, Jeff. "A Comparison of Object and Relational Database Technologies." Object Magazine 3, 5 (January 1994): 51-57.

[Martin 93] Martin, James. Principles of Object-Oriented Analysis and Design. Englewood Cliffs, NJ: Prentice Hall, 1993.
[Object 96] "Focus on ODBMS Debunking the Myths." Object Magazine 5, 9 (February 1996): 21-23.
[Tkach 94] Tkach, Daniel & Puttick, Richard. Object Technology in Application Development. Redwood City, CA: Benjamin/Cummings Publishing Company, 1994.
[Vorwerk 94] Vorwerk, Raymond. "Towards a True OBBMS." Object Magazine 3, 5 (January 1994): 38-39.

Current Author/Maintainer

Mike Bray, Lockheed-Martin Ground Systems

Modifications

10 Jan 97 (original)



The Software Engineering Institute (SEI) is a federally funded research and development center sponsored by the U.S. Department of Defense and operated by Carnegie Mellon University.

Copyright 2008 by Carnegie Mellon University
Terms of Use
URL: http://www.sei.cmu.edu/str/descriptions/oodatabase_body.html
Last Modified: 24 July 2008