Object Oriented databases

Posted on 2004-10-18
Last Modified: 2012-06-21

This is a general Question:

For many years people are talking about the Object Oriented database and there are certainly quite a few in the market.
But, even though the major suppliers (like Oracle) started adding such features in to their major DB release, the development community has not been using them as wide as one would expect.
I do not have enough experience with OO and therefor I would appreciate your comments on reasons that is is not that wide spread

Question by:peledc
LVL 50

Assisted Solution

by:Gustav Brock
Gustav Brock earned 100 total points
ID: 12339663
The only real OO database engine at some level I've seen, is InterSystems' Caché. A fully functional single developer license is free to download.

I think the reason for not being wide spread yet is that you as a developer really have to turn your head 180 degrees. However, if you do that, a lot of opportunities and fun show up and, though troublesome for a beginning, it is very nice and encouraging to be able to manipulate the engine without old fashioned SQL.
Caché knows that SQL sometimes is much easier to use so it fully supports SQL as well as ODBC, thus giving you both worlds - in fact you can start out just using SQL and ODBC, then move on as you learn or need the OO features. Have in mind though, that it is an engine only with a nice developer (Studio) environment (Windows only) - you will need a frontend of some kind for you users.

Another important reason for not being widespread is the inertia among dbas. For demanding purposes you choose engines you know will work. It can be hard to find tasks where experimentation is allowed or desired.


Assisted Solution

NashvilleGuitarPicker earned 100 total points
ID: 12340881
cactus_data did a good job covering the big reasons.  Related to "inertia" is the fact that relational SQL is very common.  It filled  a need very well, and is one reason that you do not see the hierarchical databases as much anymore (except on mainframes).  This is sort of like getting the U.S. to adopt the metric system.  The main reason for not doing it is that everyone is already familiar ("invested") in the old system, even though the new system has many advantages.  Given some time, we should see some OO leaders and standards emerge.
LVL 24

Assisted Solution

by:Joe Woodhouse
Joe Woodhouse earned 100 total points
ID: 12344769
Not disagreeing with what's been said above, I'd also add that (rightly or wrongly) OO databases are often perceived as a "worst of all worlds" hybrid solution.

If I have a need well suited to a database solution, the odds are good that an established standard relational database product will be more fully featured, more tested in the marketplace, and have more front-end application vendor support for it than the relatively more recent OO database technologies.

Likewise, if I think a traditional development environment is the answer to my problem, there are plenty of very good OO languages and environments that will again have more features and maturity than a hybrid approach.

Another way of putting that is that while a hybrid approach may be able to be used in more situations, it will often be outcompeted by a more specialised approach which is a better fit for that particular need.

Assisted Solution

gnudiff earned 100 total points
ID: 12344824
Agreeing with what the previous comments, I would like to note that there exist also partial OO models, like object-relational database management systems (ORDBMS), eg PostgreSQL.

From :

PostgreSQL is a sophisticated object-relational database management system (ORDBMS). An ORDBMS is an extension of the more traditional relational database management systems (RDBMS). An RDBMS enables users to store related pieces of data in two-dimensional data structures called tables. This data may consist of many defined types, such as integers, floating-point numbers, character strings, and timestamps. Data inserted in the table can be categorized using a grid-like system of vertical columns, and horizontal rows. The relational model was built on a strong premise of conceptual simplicity, which is arguably both its most prominent strength and weakness.

The object-relational aspect of PostgreSQL adds numerous enhancements to the straight relational data model. These include support for arrays (multiple values in a single column), inheritance (child-parent relationships between tables), and functions (programmatic methods invoked by SQL statements). For the advanced developer, PostgreSQL even supports extensibility of its data types and procedural languages.

Accepted Solution

djwillms earned 100 total points
ID: 12386976

I would say the #1 reason why OO databases are really gaining popularity is that relational databases are totaly entrenched. Every reporting package on the market works the relational databases, but none of them work with object oriented databases.

Nothing integrates with OO databases since its a philisophical design change, and not just a data storage format change.

Object oriented databases by their very nature do not use Ansi SQL syntax to query them.

I saw a very complete summary of OO databases with code examples of how to use them on (youll have to search on their site for it)

Basically it said the way you would use an OO database is the exact same way you would use a collection of objects in your programming language of choice with the 1 difference being that between the times your run your program, your program persists the data collection back to the file sytsem.

#2 Todays current generation of DBAs could not, and would NOT be qualified to design an OO database because they dont have the skills and they SHOULD not have the skills. If dba's wont share the design and implementation of relational databases with developers, then developers wont share OO design and implementation with DBA's.  The people that have the skills are the software developers with their OO Design background, not the DBA's. So OO databases will become wide spread in use when you kick out the DBA's and make the DBA tasks part of the developers job.


Featured Post

Announcing the Most Valuable Experts of 2016

MVEs are more concerned with the satisfaction of those they help than with the considerable points they can earn. They are the types of people you feel privileged to call colleagues. Join us in honoring this amazing group of Experts.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
append to an ms access field 6 49
changing page verifacation 1 57
Exchange database won't mount 4 92
Access table not showing correct column 6 18
This article explains all about SQL Server Piecemeal Restore with examples in step by step manner.
Creating and Managing Databases with phpMyAdmin in cPanel.
Video by: Steve
Using examples as well as descriptions, step through each of the common simple join types, explaining differences in syntax, differences in expected outputs and showing how the queries run along with the actual outputs based upon a simple set of dem…
Polish reports in Access so they look terrific. Take yourself to another level. Equations, Back Color, Alternate Back Color. Write easy VBA Code. Tighten space to use less pages. Launch report from a menu, considering criteria only when it is filled…

685 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question