|
|
Object-Oriented DatabaseObject-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 DetailOODBs 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:
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 ConsiderationsThe type of database application should dictate the choice of database management technology. In general, database applications can be categorized into two different 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. MaturityClaims 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:
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 LimitationsThe 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. AlternativesAn alternative is relational database management systems (RDBMs). |