Solved

Object Oriented databases

Posted on 2004-10-18
5
493 Views
Last Modified: 2012-06-21
Hi,

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

Thanks
0
Comment
Question by:peledc
5 Comments
 
LVL 49

Assisted Solution

by:Gustav Brock
Gustav Brock earned 100 total points
Comment Utility
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.

/gustav
0
 
LVL 5

Assisted Solution

by:NashvilleGuitarPicker
NashvilleGuitarPicker earned 100 total points
Comment Utility
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.
0
 
LVL 24

Assisted Solution

by:Joe Woodhouse
Joe Woodhouse earned 100 total points
Comment Utility
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.
0
 
LVL 3

Assisted Solution

by:gnudiff
gnudiff earned 100 total points
Comment Utility
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  http://www.faqs.org/docs/ppbook/x1277.htm :

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.
0
 
LVL 3

Accepted Solution

by:
djwillms earned 100 total points
Comment Utility

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 www.slashdot.org (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.











0

Featured Post

Enabling OSINT in Activity Based Intelligence

Activity based intelligence (ABI) requires access to all available sources of data. Recorded Future allows analysts to observe structured data on the open, deep, and dark web.

Join & Write a Comment

Entering time in Microsoft Access can be difficult. An input mask often bothers users more than helping them and won't catch all typing errors. This article shows how to create a textbox for 24-hour time input with full validation politely catching …
Shadow IT is coming out of the shadows as more businesses are choosing cloud-based applications. It is now a multi-cloud world for most organizations. Simultaneously, most businesses have yet to consolidate with one cloud provider or define an offic…
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…

743 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

Need Help in Real-Time?

Connect with top rated Experts

17 Experts available now in Live!

Get 1:1 Help Now