Object Database

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 or tuples in respectively a SQL or a RDBMS (Relational Database Management System). It is most often used in the case of C++ and Java programmers that do not wish to deal with the impedance mismatch of going from an object oriented (OO) programming language to a database query language like SQL programming language that is the current standard. Developers prefer to be able to persist an object without having to go through a paradigm shift. Also missing from SQL is the concept of polymorphism, which is central to OO design, thus causing headaches when mapping from OO code to SQL. Of course this has advantages and disadvantages. The ability to stay closer to the OO paradigm is a plus for organizations who believe in OOP. However, the SQL DBMSs is a mature and proven one that has had decades of development and testing. Certain benchmarks between ODBMS and SQL DBMSs have shown that ODBMS can be clearly superior for certain kinds of tasks. One of the main reasons is that ODBMS do not use joins to associate objects but references which are usually implemented as pointers. In SQL-based RDBMS, a join would often require a search through a B-tree index (although some vendors offer short-cut technology). In general, navigation in an ODBMS is via traversing references, whereas in SQL data is joined in an ad-hoc fashion (which is better for arbitrary queries). 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 SQL world including but not limited to industry standard connectivity, reporting tools, OLAP tools and backup and recovery standards. Additionally, ODBMS lacks a formal mathematical foundation, unlike the relational model, which rests upon the firm and well-understood mathematical basis of the relational calculus. It must be noted that all SQL limitations come from it violating the principles of the relational model. A proper implementation, such as Alphora Dataphor, provides all the benefits of OO DBMSs without their drawbacks. The Object Database Management Group did come up with an 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 considered by some to be a lost opportunity to revolutionize software development. Instead, there are more solutions out there providing so-called object-relational mapping abilities -- actually object-SQL mappings -- than there are ODBMS. There are many design patterns for designing object-SQL mappings (it is a non-trivial task; see notes to this effect in database). A directory service DBMS is considered an alternate, less ambitious approach that shares many goals with ODBMS.

See also

Commercial Insight

External links

 

<< PreviousWord BrowserNext >>
omniscience
ontogeny and phylogeny
original amiga chipset
optic neuritis
organization of american states
office international des epizooties
ozzie smith
oc 135b open skies
treaty on open skies
one day cricket
organization for security and co operation in europe
omri
oxycodone
occidental college
operation el dorado canyon
objective c
operational amplifier
ordinary english
oh hell
on war
orange alternative
otto iv, holy roman emperor
outcome based education
olga of kiev
olympus mons
object verb subject
ovo lacto vegetarian
orgy of the dead
ostwald process
oliver heaviside
book of omni
ozone layer
public enemy
paleolithic
planet
painting
paramount pictures
psychology
phpwiki
poetry
protist
probability
poland
performing arts