Jump to content

Object database

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Vtan (talk | contribs) at 04:13, 21 January 2002 (Object Database, ODBMS). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
(diff) ← Previous revision | Latest revision (diff) | Newer revision → (diff)

An object database (more correctly referred to as ODBMS or OODBMS for object database management system)

is a DBMS that stores objects as opposed to rows/tuples in a RDBMS or relational database system.


It is most often used in the case of C++ and Java programmers that do not wish to deal with the impedence

mismatch of going from an OO language to a database query language like SQL programming language.

that RDBMS require. Developers prefer to be able to persist an object without having to go through a

paradigm shift.


Of course this has advantages and disadvantages. The ability to stay with an OO paradigm does great things

for productivity. However, the RDBMS model is a mature and proven one that has had decades of development

and testing.


Certain benchmarks between ODBMS and RDBMS have shown that ODBMS can be clearly superior.   One of

the main reasons is that ODBMS do not use joins to associate objects but references which are usually implemented

as pointers. In the RDBMS model, a join would in most cases minimally require a search through a B-Tree index.


The successful market segments for ODBMS seem to be in telecommunications, high energy physics and subsets

of financial services. The things that work against ODBMS seem to be the lack of interoperability with a great number

of tools/features that are taken for granted in the RDBMS world including but not limited to industry standard

connectivity, reporting tools, OLAP tools and backup and recovery standards.


The Object Database Management Group did come up with a industry standard called ODMG 2.0 but it failed

to gain acceptance with the ODBMS vendors mostly opting for proprietary features and extensions instead of

attempting to grow the ODBMS pie by standards compliance and competing on implementations.


As an industry, ODBMS are a lost opportunity to revolutionize software development. Instead, there are more

solutions out there providing object-relational mapping abilities than there are ODBMS.