Re: OO fans bashing Joins

From: Ruud en Maud <celebes_at_xs4all.nl>
Date: 2000/03/08
Message-ID: <38C60DED.1AE1D876_at_xs4all.nl>#1/1


Hi Wolfgang,

Let me make some remarks and pose a question.

Wolfgang Keller wrote:

> topmind_at_technologist.com wrote:
>
> > Other OO fans seem to be saying the same thing. Is there
> > a famous test that said OO is faster than Joins? Where is
> > this perception coming from?
>
> as in so many cases ... performance depends on the app you
> have and is not the same for every app if you take a certain db
> technology given.
>
> OO using an OODB is good for apps where you need
> to navigate through graphs, dags, and tree structures ..
>
> In the relational world that would mean ..
> (1) looking up the next objects key
> (2) going through the btree

Going through the Btree will only mean one or two disk (or preferably cache) reads. Doesn't take that much time. With modern hardware it is not on a timescale you and I can observe.

>
> (3) fetching the appropriate record from the disk

You seem to suggest that an RDBMS will always get its data from disk. This is only partly true, since most RDBMSs will use some sort of cache. That makes it a lot faster to retrieve data from the RDBMS. I wonder what the comparison to an ODBMS will be then...

>
>
> In OO-databases you often have clusters on pages where you load a
> full page from disk that pulls you (registers in an object table)
> a whole bunch of objects ... Like this you can get a few hundred related
> objects
> with a single disk read if you're lucky and have no extra disk access
> to navigate them - only when you reach a page border you need to
> visit the disk again.

Question: Is it likely that hundreds of related objects fit on a single page? This seems to imply that either the objects should be very small or the pages very big.

>
>
> Faster - YES but only if the problem is the right problem for this kind
> of access. If clustering does not fit, it may be even slower for certain
> queries.
> So this is good for stuff like
> * CASE tools
> * CAD
> * any other type of check-in check-out persistence for whole object nets
>
> that are accessed using the same form of clustering
> but not necessarily better for lets say processing invoices ..
>
> if you need a few more ideas on how OODBs relate to RDBs visit
> my OR persistence patterns site
> http://www.objectarchitects.de/ObjectArchitects/orpatterns/
> Hope that clarifies a few things ..
>
> Cheers
>
> Wolfgang
>
> ================================================================
> EMail: wk_at_objectarchitects.de
> Web: http://www.objectarchitects.de/ObjectArchitects/

Very interested in a reaction, especially on the question.

Regards,

Ruud de Koter Received on Wed Mar 08 2000 - 00:00:00 CET

Original text of this message