Re: Flamewar object databases vs. relational databases

From: Bob Badour <bbadour_at_golden.net>
Date: 4 Jun 2001 16:04:43 -0700
Message-ID: <cd3b3cf.0106041504.2e16cea2_at_posting.google.com>


> Someone was complaining about OIDs exposed to the user in object databases,
> which they are not.

Let me ask you: If all of the properties of two different objects are equal and only the OID's are different, does the user see only one object? Or does the system expose to the user that the OID's are different?

> PrimaryKeys and ForeignKeys have to be exposed to the users of relational
> databases, otherwise they cannot link tables

Of course the identifying attributes are exposed to the users. How else would users tell the data apart?

> There is not even a standard to retrieve the last inserted primary key.

Why should there be one? In all good designs, the user interacts with the identifying attributes. How else would the user contend with two Bob Badours?

> On Oracle you typically use a sequence for every *single* table:

This is untrue. People who know very little about data modelling often use this approach.

> There are applications that use 10 or more tables for one single object.

There are applications that use 10 or more objects for one single object -- after one counts all of the inheritance ancestors, role classes, delegates etc. What is your point?

> Every table insert has to wait until the last insert is completed and the
> key is fetched with a select statement.

This is only true if one uses a system-generated surrogate key.

> Does this scale?

If it doesn't, don't use a system-generated surrogate key.

> Is it thread-safe?

Yes.

> Can parts be computed in paralell?

Yes.

> Is it necessary?

No.

> The more atomic (short time) you can make actual data processing, the more
> efficient your system can be, since you don't block other users. There are
> telecommunication applications where volume is extremely high. Can you
> afford to use a system here that
> - is by factor 10 to 1000 slower in inserting data?

Your assumption that a relational system is slower at all is false.

> - blocks many more resources for a longer period of time?

Your assumption that a relational system would necessarily block any resources is also false.

> How does it perform in a WAN or in a mobile system where the connection
> might be lost?

How does your product persist any object after the connection is lost? Just curious. Received on Tue Jun 05 2001 - 01:04:43 CEST

Original text of this message