Re: The IDS, the EDS and the DBMS

From: mAsterdam <mAsterdam_at_vrijdag.org>
Date: Sat, 11 Sep 2004 14:42:52 +0200
Message-ID: <4142f2d0$0$559$e4fe514c_at_news.xs4all.nl>


Laconic2 wrote:

> Marshall Spight wrote:

>>or in local parlance, there is logical structure and
>>physical structure.

>
> That parlance is even more local than you might think.
>
> After you get done talking to the Oracle guru, and he finishes explaining
> to you that a "database block is phyisical", try going across the hall to
> the operating system guru. Here's what he says:
>
> "If by 'database block' he means 'file block', then he's wrong. File
> blocks are virtual. They are mapped into logical blocks by the file mapping
> feature of the OS. Logical blocks are the same size as file blocks, but
> they have only a one dimensional address, at least on a single spindle.
>
> Even logical blocks are not physical. Logical blocks are further
> translated into one or more disk sectors. Now that's physical!"
>
> Now go down the hall to the guy who designs disk controllers. He says:
>
> "I know the OS guy told you that 'sectors' are physical, but that's only
> an illusion!
>
> Lemme tell you what's REALLY going on...."

This is like communication protocol stacks. There are important differences too, but I'll focus on the resemblance, relevant to this thread. First a little explanation.

The layers in these stacks (e.g. ISO-OSI, internet) provide a local namespace to discuss what's happening inside the layer without polluting the discussions of the other layers.

A layer provides a set of services to the layer above it through a (more or less strictly defined) public interface, and it uses services of the layer below it, again through a public interface.

Let's say we have 3 layers under consideration: top-down 1, 2 and 3 .der consideration). Now only if layer 1 *cannot* see layer 3 at all, so anything in layer 1 wanting to use some service of layer 3 has to require a layer 2 service to achieve it, we have layer 3 encapsulated by layer 2. If layer 1 *can* directly access the public interface to layer 3 services, it peeks a hole though 2, and violates encapsulation.

To state it more specificcally, the visibility of 3's public interface from inside 1 violates 2's encapsulation of 3.

Back to topic.

There is no need for IDS when all programs accessing the data are the same.
The interface to an IDS gives access to shared data - shared by dissimilar programs, maybe EDS's. It looks like EDS can encapsulate a lot of data, even use a DBMS to do that, but it cannot encapsulate IDS-data - not because it is somehow flawed, but because the layer below it is exposed to others.

Well then, don't expose them! Let's try. (later:) It worked! Champagne!
Ah no. Now we have an EDS, not an IDS. Received on Sat Sep 11 2004 - 14:42:52 CEST

Original text of this message