Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> Re: How to store a directory info into a database?

Re: How to store a directory info into a database?

From: Carl Rosenberger <carl_at_db4o.com>
Date: Sun, 26 May 2002 16:41:54 +0200
Message-ID: <acqs0s$ta$07$1@news.t-online.com>


Gerd Nachtsheim wrote:
> > No relational database will be as performant as an object database
> > for the task.
> > ...not even Oracle.
>
> Talk is cheap, Carl.
>
> As much as I have appreciated your valuable contributions to various
> newsgroup over the last years, I do not believe that the above
> proposition (without a proof) leads to anything but FUD.

Thanks for the compliments, Gerd.

It was my only intention to raise Fear, Uncertainty and Doubt among the users of relational databases. :-)

> Or do you have any aces in your sleeves that give a living proof for
> what you are stating?

The reason for better performance of object databases for tree structures is fairly simple:
"Member pointers" are one-directional. Parent node "pointers" can point directly to child nodes, without any indirection through indices.
Object query evaluation can use this *directed* object hierarchy to be more efficient in setting up the query optimizer. An SQL query optimizer always has to take into account all evaluation paths and it will be less efficient to choose the best one.

The only "ace in my sleeve" I have to prove this fact is the benchmark code that is available with the download of our engine. The code in com.db4o.BenchComplex.java and com.db4o.BenchComplexSQL.java compares querying a deep structure using our query-by-example with an SQL query over four tables. Although our engine does not use any indices for the task, it outperforms huge relational databases with hundreds of manyears invested into their query optimizer. The deeper and more complex the structure gets, the greater our advantage.

I know all the suspicion against "proprietary" benchmarks. Our benchmark code is by no means very beautiful. We just did some testing because we were interested in the results ourselves and we decided to add it to the download, since it shows, where db4o is comparatively good and where it is not. I would be very interested to discuss a performance comparison of SQL approaches to store directory structures. For any speed test code posted here, I would be glad to produce comparative code, how to handle the same task with our engine.

Kind regards,
Carl

---
Carl Rosenberger
db4o - database for objects - http://www.db4o.com
Received on Sun May 26 2002 - 09:41:54 CDT

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US