Re: Clean Object Class Design -- What is it?

From: Bob Badour <bbadour_at_golden.net>
Date: Sat, 4 Aug 2001 10:50:06 -0400
Message-ID: <s4Ua7.208$aS3.18339991_at_radon.golden.net>


>> >What features is GemStone lacking to be considered a DBMS?
>>
>> It's not the features it lacks that concern me. The unecessary features
 that
>> pollute the logical model concern me.
>
>Yes. It is a commercial product. Commercial products often contain features
>that make idealists uncomfortable.

My objections have nothing to do with idealism. I base them on very real and very practical problems that the deficiencies in the non-relational logical models create.

>OTOH, I think that your reaction is a
>knee-jerk response to the fact that it is not a RDBMS, and hence is somehow
>"polluted".

Once one has objectively and extensively considered the enormous problems caused by exposing pointers in the logical model and by requiring navigational access at the logical level, one can dismiss DBMSs with those features without the dismissal being "knee-jerk".

In fact, at this point, the onus is on the non-relational proponents to demonstrate their worth.

If I stated that Gemstone cannot qualify as a DBMS, I am sorry. I thought I stated that Gemstone cannot qualify as a good DBMS. However, it can qualify as a good application programming environment.

Would you rather have a good application programming environment or a lousy DBMS?
>Is SQL not polluted?

Very polluted.

>> >The Smalltalk model makes a distinction between identity (which is a
>> >physical concept) and equality (which is a logical concept).
>>
>> I have to disagree with SmallTalk's model. Identity is a logical concept
 and
>> not (necessarily) a physical concept.
>
>It's just a definition within the language model.

Again, I must disagree. Human beings understand identity at an informational level. Any application of the concept to data must map to that human understanding.

>> One can implement a relational database management system using just
 about
>> any programming environment. I have no opinion regarding GemStone's
>> suitability for this purpose; however, I did not see anything about
 GemStone
>> that would provide it any advantage with regard to data integrity.
>
>Transactions, rollback, coherent concurrency models. Things like that. As
>opposed to writing a RDBMS in C or Fortran, I suspect that time could be
>saved.

As long as one accepts the Gemstone concurrency model. If one seeks to improve on it, one will have to write all of these things from scratch, in any case.

>It appears that your concerns about the use of ODBMS technology revolve
>around the issue of logical independence. But the relational vendors are
>capitulating to their customers and after 30 years, they come out with
>pointer chasing in SQL and recommendations to denormalize for performance.

You must be naive to believe this. The market has capitulated to the pressures of the vendors.

If the vendor can convince the customer that they need to chase pointers, the customer lets the vendor off the hook for failing to implement the basic features the customer really needs. If the vendor can convince the customer that they need to alter the logical (normalized) model for performance reasons, the customer lets the vendor off the hook for failing to deliver any physical independence.

I believe you have been duped by an aggressive, persistent campaign of misinformation. Vendors prey on misconception and ignorance.

>If this is the state of the art, then why not use an ODBMS

It was the state of the art more than 30 years ago. The market is regressing rapidly.

>The relational model looks great on paper, but I see no formal mechanism to
>map from an ideal logical representation to something that will perform
>well

I can only conclude that you haven't bothered to look.

>> >Minsky criticizes predicate calculus as being insufficiently expressive
 for
>> >knowledge representation (see
>> >ftp://publications.ai.mit.edu/ai-publications/0-499/AIM-306.ps).
>>
>> I had no joy with the link above.
>
>Sorry for not warning you. The file is rather large (~8Mb) and has some
>postscript errors. I ran it through ps2pdf and it was fine. You likely will
>find no joy in the content either, as it is not a rigorous mathematical
>paper.

I find that last comment dismissive and rude. You are not only ignorant: you deserve the natural consequences of your ignorance.

>> >> Unfortunately, they made some huge fundamental mistakes in their
>> >> implementation of inheritance. Inheritance applies to domains and not
 to
>> >> relations.
>> >
>> >Why can inheritance not apply to relations as well?
>>
>> Because relations are sets and not object classes.
>
>Relations are sets of tuples with uniform structure, correct? Can
>inheritance not apply to tuples?

Tuples are sets and not object classes. Received on Sat Aug 04 2001 - 16:50:06 CEST

Original text of this message