Re: Generic Modeling
Date: Thu, 03 Jan 2002 15:34:48 GMT
Message-ID: <sS_Y7.38$Nq6.2194_at_petpeeve.ziplink.net>
Brian,
Your reply is excellent. I learned a lot from the insights you shared.
I have one minor quibble:
> I think the point is that the DBMS should be responsible for the
> optimization and concurrency. This is criticism of the XDB
> implementation, not of OODB's in general. I think that other OODB's
> have elaborate query optimizers and surely can handle concurrent
> access.
>
While I agree with you regarding optimization, I disagree regarding concurrency. I haven't thought it through completely, but I've seen several products that didn't deal with concurrency in the first release, and it's usually been an ongoing pain to try to retrofit concurrency into them.
Think of DOS and Windows, for example. Those two products (with the exception of Windows 2000) are still suffering from the fact that the original vision did not contemplate concurrent tasks. By contrast, consider Unix, where concurrent tasks were built into version one, back in 1969. Although Unix is not free from problems, I would say that concurrency is one place where it has been quite strong.
Concurrency in databases, where updates run concurrently with each other, and with queries, is far from a trivial matter. I would say that almost half of the engineering cost of a major commercial database is dedicated to engineering concurrency without violating the ACID principle on the one hand, and without introducing disastrous bottlenecks on the other.
Now the raging debate between the relational diehards and the object orientated fanatics involve people on both sides that are generally better prepared than I am, and they marshall powerful arguments on their behalf. But I find the object oriented camp to be singularly weak on the subject of data sharing, or object sharing if you prefer. And I believe that weakness is a harbinger of a rolling disaster in the years to come.
-- Regards, David Cressey www.dcressey.comReceived on Thu Jan 03 2002 - 16:34:48 CET