Re: TRM - Morbidity has set in, or not?

From: J M Davitt <jdavitt_at_aeneas.net>
Date: Fri, 19 May 2006 09:30:59 GMT
Message-ID: <nfgbg.40965$P2.26775_at_tornado.ohiordc.rr.com>


Keith H Duggar wrote:
[snip]

A particular network may be very convenient
> for one analysis and a nightmare for other. I'm beginning to
> understand this is the concept of "access paths" correct?
> And that a network model encodes and optimizes a particular
> access path whereas a relational model does not? And thus a
> RM allows many access paths? Efficiently?

Products which implement the network model require indices between sets of records (tables) that are to be efficiently joined. A couple points: it can be done inefficiently without an index, but it's very inefficient. The joins are not exactly what the RM considers joins; it's really a way to specify a subset of the "other" records which are associated with the current subset of "these" records.

Network model implementations can really fly, though, because of the "behind the scenes" features that are part of the workspace provided in the programming model. That workspace maintains buffers and "current set of" context for every record type referred to in the program. That, combined with the ability to do "greatest which is less than or equal to" and "least which is greater than or equal to" type "look-ups" in the "other" records (due to the indexing scheme used) makes for great speed.

There are a couple other implementation details that can cause trouble. One is that indices cannot be arbitrarily large. This means that you can store, typically, up to 2^31 records in a table -- but not one more. Another is that maintenance of bitmapped join indices is expensive -- so expensive, in fact, that some products do that work "in the background" with the consequence that the last "committed update" might not be visible to another program.

> I realize that those questions are somewhat flawed because
> matters of implementation, efficiency, etc are orthogonal
> (partially? totally?) to the relational data model

And, in fairness, to the network model, too. The gotchas I cited above are "implementation tradeoffs."

[snip] Received on Fri May 19 2006 - 11:30:59 CEST

Original text of this message