wood burning stoves 2.0*
The moose likes Agile and Other Processes and the fly likes OODBMS vs RDBMS Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Android Security Essentials Live Lessons this week in the Android forum!
JavaRanch » Java Forums » Engineering » Agile and Other Processes
Bookmark "OODBMS vs RDBMS" Watch "OODBMS vs RDBMS" New topic
Author

OODBMS vs RDBMS

Serge Adzinets
Ranch Hand

Joined: Nov 26, 2002
Posts: 166
Hi, Scott,
As I see from contents you write about RDBMS and OODBMS in your book. Why do you think Object-oriented databases are not getting popular as one might expect? Is it because there's no demand for OODBMS from the customers?
P.S. When I entered the world of DBs I was impressed how few standards were there, each vendor having their own version of SQL let alone the stored procedures language (PL/SQL, Tx SQL, etc.). It seems this business is vendor-driven, not customer-driven.


Best Regards,<br />Serge
Lasse Koskela
author
Sheriff

Joined: Jan 23, 2002
Posts: 11962
    
    5
Originally posted by Siarhei Adzinets:
Why do you think Object-oriented databases are not getting popular as one might expect? Is it because there's no demand for OODBMS from the customers?
Some aspects to think about:
- Companies often standardize on a single database product
- Data is often the most valuable single asset a company has -> losing the data is unacceptable
- Database maintenance is a "specialist" type of job (data migration, for example, isn't a job for me...)
- Data access is often a performance bottleneck, along with other I/O operations
Now, because OODBMSs are still lagging in performance compared to their relational counterparts, very few have the skills to use such a beast, and migrating data from a relational database into an object-oriented database is probably not the easiest trick in the book,... The OODBMS products will probably take a while to get their foot in the door.
I hope they will, though.


Author of Test Driven (2007) and Effective Unit Testing (2013) [Blog] [HowToAskQuestionsOnJavaRanch]
Ilja Preuss
author
Sheriff

Joined: Jul 11, 2001
Posts: 14112
Two additional aspects:
- you often have to work with already existing data - which is stored in a RDBMS
- there are not many people who actually know how an ODBMS works, in my experience (I don't know either)


The soul is dyed the color of its thoughts. Think only on those things that are in line with your principles and can bear the light of day. The content of your character is your choice. Day by day, what you do is who you become. Your integrity is your destiny - it is the light that guides your way. - Heraclitus
Surasak Leenapongpanit
Ranch Hand

Joined: May 10, 2002
Posts: 341
Object can be complex and efficiency, but no more sofware products want these attributes nowadays.
Scott Ambler
author
Ranch Hand

Joined: Dec 12, 2003
Posts: 608
The issues mentioned previously are certainly valid. The basic issue is that ODBMSs, at first, didn't have the basic reporting and query facilities required by most orgs. There was also a concerted campaign by the relational vendors to squash object bases before they took off, and frankly it worked. Furthermore, the cultural divide (http://www.agiledata.org/essays/impedanceMismatch.html#CulturalImpedanceMismatch) between the object and data communities motivated political decisions by data folks to not even consider object bases.
- Scott


<a href="http://www-306.ibm.com/software/rational/bios/ambler.html" target="_blank" rel="nofollow">Scott W. Ambler</a><br />Practice Leader Agile Development, IBM Rational<br /> <br />Now available: <a href="http://www.ambysoft.com/books/refactoringDatabases.html" target="_blank" rel="nofollow">Refactoring Databases: Evolutionary Database Design</a>
Pradeep bhatt
Ranch Hand

Joined: Feb 27, 2002
Posts: 8904

there are not many people who actually know how an ODBMS works, in my experience (I don't know either)

Is it difficult to master?


Groovy
Jacky Chow
Ranch Hand

Joined: Sep 01, 2002
Posts: 63
hi all,
The following Q&A is from here

Q. What are the benefits of using an object database management system (ODBMS)?
A. From my perspective, there are two primary benefits in using this technology. Both benefits reflect a basic idea -- when you use an ODBMS, the way you use your data is the way you store it. The first benefit can be found in development. When you use an ODBMS, you will write less code than if you were writing to an RDBMS. The reason for the smaller amount of code is simple -- when you are using Java or C++ -- you won't have to translate into a database sub-language such as SQL, ODBC, or JDBC. You will be writing in the programming language. The result is less code. In many cases, this code be as much as 40 percent less. The corollary to this is that any data structure that you can imagine in Java or C++ can be stored directly without translation in an ODBMS. This is an important thought. You can store very complex data structures directly in an ODBMS.
The second benefit, which is related, occurs in production. If you are working with complex data, an ODBMS can give you performance that is ten to a thousand times faster than an RDBMS. That's because when the data is read off the disk, it is already in the format that Java or C++ uses. No translation is needed. The range in performance gain depends on the complexity of your data.

I wonder that the A part say that "an ODBMS can give you performance that is ten to a thousand times faster than an RDBMS" ! really


Jacky
Ilja Preuss
author
Sheriff

Joined: Jul 11, 2001
Posts: 14112
Originally posted by Jacky Chow:
I wonder that the A part say that "an ODBMS can give you performance that is ten to a thousand times faster than an RDBMS" ! really

As far as I know, this heavily depends on the structure of the data and the types of queries you need to apply to it. Can't tell you more about it, though...
Lasse Koskela
author
Sheriff

Joined: Jan 23, 2002
Posts: 11962
    
    5
Yes, the performance boost can be significant. Prevayler, which is an in-memory "database", has recorded 9000x throughput compared to Oracle, for example. I doubt that object-oriented databases are close to -- not to mention beyond -- the speed of Prevayler, though. If anyone has black on white about this (from a reasonably unbiased source, of course), please share it...
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: OODBMS vs RDBMS
 
Similar Threads
OODBMS suggestions?
Using any database.
JDBC problems using Servlets
OODBS and NoSQL
Your favorite ORM Tool and Why?