Re: The fable of DEMETRIUS, CONSTRAINTICUS, and AUTOMATICUS
Date: Thu, 21 Oct 2004 12:16:02 -0400
Message-ID: <ep6dnaQJmbRRfercRVn-sA_at_comcast.com>
"Kenneth Downs" <firstinit.lastname_at_lastnameplusfam.net> wrote in message
news:g7b8lc.79o.ln_at_mercury.downsfam.net...
> Laconic2 wrote:
>
> >
> > "No user serviceable parts inside. Refer all service to a qualified
> > technician."
> >
> > OK for a TV set. Not OK for a mission critical, enterprise wide data
> > container and integrator.
>
> I've snipped most of your post, but am attempting to respond to the whole
> thing.
>
> We'll call Ken the 3rd party vendor or vendor, Laconic2 the inside DBA or
> just dba, and then there is the user. Going back to the original question
> of how to enforce a constraint that may change, we have:
This going to be a long discussion.
One thing I want to do is find common ground with you, in the early stages of the discussion, where possible.
The first thing I want to discuss is the idea behind "system of record".
This is very old fashioned terminology for a concept concerning data that
appears in more than one file and/or database. What it says is that, in any
dispute about the "correct value" of any data item, there is one system
that is agreed to be the "system of record" for that data item.
So if the data item, "Zip Code for Aspen, Colorado" is stored in hundreds
of files or databases, there is one that you can go to for "the
authoritative answer". The only agent that can override the "System of
record" is a person with suitable authority. If we don't agree on this,
then we need to discuss it. If we agree here, we can discuss whether
"metadata" or "DDL" should be the "system of record" for meta-state
changes. It goes on from there, but I want to see whether we agree so far.
Second, can we agree that machines aren't responsible for anything? If a
machine malfunctions, the question of "who is responsible" needs to be
traced back to human agency. If we disagree here, we can discuss it. If we
Once we gat all that out of the way, we can discuss what the
responsibilities of the vendor, the dba, the programmer, and the user are.
Finally, and this deserves a topic of its own, who is the "user"? This is
less obvious than it seems.
>
> like this, scratch it.
> 2) End-user makes change. Vendor claims this is cheaper than either
> vendor or dba doing it.
> 3) Dba does it.
The real question isn't who does it. The real question is, "who is
responsible?"
(see above).
>
> Speaking entirely selfishly, if I think my code generator is so perfect,
and
> it puts the users totally in control, then I will slap a sign on the
> database that says, "No user serviceable parts inside". Now the dba is
> recommending against my product and I've lost a sale.
>
> So can I convince you that using the tool will actually give you more
> control over the database than you have now? You can do absolutely
> anything you want to the database. The only request is that you do not
> issue direct DDL, but that you give input to the builder and let it
> generate the DDL, so that it is managed. The big advantage of this
> approach to both you and me is that it makes us partners.
Sometimes your
> changes will be routine, but others may represent fundamental improvements
> to the system. The builder will export your changes and send them to us
> and we can then load them into a test system and learn from them. This is
> all painless and automatic because we are just handing data around.
>
What is the difference between data and code? (I think this has been discussed in here before) Received on Thu Oct 21 2004 - 18:16:02 CEST