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.
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.
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
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
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
Joined: Jul 11, 2001
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...
Joined: Jan 23, 2002
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...