From: AG
To: Editor
I had a conversation with Chris Date and he said that you
investigated a product called Dataphor produced by a company called Alphora. I
looked at their web site a little. I am curious as to your opinion of the
product.
I am interested in taking a product that implements a true
RDBMS (or a close as a product gets to being a true RDBMS) and one of the SQL
DBMSs out there and creating a small project using both of them. I would like
to show how a true RDBMS is able to outperform an SQL DBMS in a number of
dimensions.
Would the Dataphor product be able to act as a close
approximation to a Truly Relational Database Management System (TRDBMS) for
this experiment? What would be the dimensions you would set up in the
experiment? I always wanted to set up the rectangles problem Chris discusses in
AN INTRODUCTION TO DATABASE SYSTEMS (A Motivating Example, on p.
632 in Section 22.2).
From: Hugh Darwen
To: AG
The brief answer is "yes, yes, yes". I'll elaborate
a little.
In fact, Dataphor's database language is closely modeled on Tutorial
D. What's more, they have implemented THE THIRD
MANIFESTO's type inheritance model, even though that is only a
suggestion, not a requirement, in TTM; so you definitely get your (and our)
rectangles, rhombuses and squares.
My contact at Alphora is Nathan Allan, nathan@alphora.com. At
the moment he is still pleased to hear directly from anybody who might be
interested in D4. One of my contacts has already downloaded and installed it,
with a little help from Nathan.
For its data storage D4 uses a concept called
"devices". At the moment the only devices supported are SQL DBMSs
(under the covers!), so that they can get transaction control, concurrency and
so on "for free", and "in memory" (so that you start and
end a session without a database at all, running entirely from D4 scripts). But
they are planning to add their own persistent storage engine as soon as they
can and they impress me with their knowledge of what has to be done to make
such a thing. When they do that, I see great opportunities for them.
According to my understanding, the company's business is
really in application development tools, so they are broaching new ground with
DBMS work. Like so many tools developers before them, they had been looking for
ways of automating "everything that can theoretically be automated"
in the application development process. In order to find out what
"theoretically" meant, they thought they needed a solid theoretical
database foundation of some sort and they couldn't find that in SQL. They did
some kind of web search on "database" and managed to find TTM. They
tell me they studied this very carefully, and also all the referenced work by
Date and me in the RELATIONAL
DATABASE WRITINGS series.
They had not previously encountered The Relational Model of
Data or the name E.F. Codd, in spite of having attended university level
computer science courses (sigh!). I am so pleased that they came to The
Relational Model, like me back in 1972, for entirely practical reasons arising
from their real business.
I have no hesitation in encouraging you to take further
interest in this work.
From: AG
I have investigated the Alphora Dataphor product a bit. All
of the investigation has been done via the web. I downloaded the beta and will
start looking at it once I get a new machine where I can have only the Dataphor
and a local database. I was going to go with MS SQL Server 2000 since it is the
SQL DBMS I know best.
Once I get everything loaded and get the environment up and
working (.NET, Visual Studio, MS SQL Server) I'll get started with creating a
good project that will be able to show what can happen when you have a TRDBMS.
I want to show in very obvious practical terms how a TRDBMS can outperform a
SQL DBMS in development time, performance, and other dimensions.
While I am doing this, will you take just a few moments and
suggest some functionality that you feel the project should have that will show
the advantages most expeditiously? I would like to deal a blow to the
"theory isn't practical" argument. There was a great Discovery movie
called Longitude, did you see it? The poor guy struggled to gain recognition,
and he knew his astronomy and watch making. It is in that vein I would like to
proceed.
From: AG
From my continued reading of TTM and other written work by
you I have to conclude that the only way to gain attention from the industry is
to create a Truly Relational DBMS, or use the Alphora product to show,
directly, in the form of an example, the advantages of a TRDBMS.
The criticism that I see from you fellows, while completely
accurate, well thought out, and well meaning, will not bear fruit. It is like
criticizing an athlete from the bleachers. What must be done is to suit up and
run, kick, throw, or bat better than the others on the field because you are
employing a technique that you feel gives a competitive advantage. (To leverage
an overused business term.)
You gentlemen have posed a compelling case, and in the case
of Hugh and Chris, have sketched out a TRDBMS. What must be done now is to get
about the business of bringing that TRDBMS to fruition. Elaborating on the
merits in writing of a TRDBMS and where current SQL DBMSs are lacking will only
attract a few curious readers.
Does that involve the Alphora product that we have discussed,
or must the effort be commenced from scratch?
Also, I haven't heard from anyone about what sort of
application should be developed using the Alphora product to show the
advantages of the product, which does seem to provide some support for
relational domains and type inheritance. My ideas currently involve starting
with circles and ellipses and then proceeding to other geometric shapes with
rectangles squares and rhombi the next to tackle. I am not a mathematician, but
my thoughts then turn to spherical geometry, where we could then use it to
calculate distances on the earth. This would then allow the argument to take on
a more practical angle and dispel some of the "it's too academic"
arguments. Distances between ZIP codes is a common function found in many web
sites to find the mileage to retail outlets.
That's my idea. It starts with some of the geometry issues
and leverages the crystal clarity of those well-defined shapes. I then proceed
to something more concrete, heck, distance to retail outlets, business managers
will love it. That's something they understand.
From: Hugh Darwen
I would expect Dataphor to be usable for such a purpose.
We vaguely hoped that TTM would attract the attention of
somebody with both the inclination and the resources to make an industrial
strength D, but we weren't overoptimistic. Our rationale for expending the time
and effort on TTM was that the only alternative (available to the two of us)
was to do nothing. We were even less optimistic about the chances of that
second alternative achieving anything. Besides, the first alternative seemed
more enjoyable, even if it would fail. And at least we could say (to ourselves)
that we had tried.
The gamble was that those few curious ones would include
somebody who could and would take action. Alphora did.
No doubt Dataphor needs a lot more work, but I don't see that
the effort *must* be commenced (again) from scratch. If you decided you
preferred a different style of language, or you weren't happy with Dataphor's
current platform restrictions, you might have a case for starting again from
scratch, but whether that would be a *business* case (hated term!) I have no
idea.
Please remember that TTM doesn't mandate type inheritance.
What it does mandate is slavish adherence to The Relational Model of Data as
clarified, we hope, in our attempt to restate that theory. We think that major
benefits accrue from such adherence. We do not mandate support for type
inheritance (i.e., the possibility that a value might be of more than one
type). However, we do conjecture that a TRDBMS with type inheritance based on S
by C would be more attractive and useful than one without type inheritance, or
one with type inheritance based on a confused/confusing model (and we are
unaware of any basis, other than S by C, that would yield a coherent model). We
would love to see that conjecture substantiated by demonstration, if possible!
Dataphor appears to meet the requirements.
Yes, I feel that a spatial application is more likely than
most to achieve the purpose at hand. A completely different example I vaguely
thought of is XML documents. I assume that certain operators can be defined for
all syntactically correct XML documents. If we consider those XML documents
that happen to conform to a given DTD or a given XML schema, then we have a
proper subset on which more operators can usefully be defined. Unfortunately I
don't know enough about XML to have an idea as to whether a good application of
*multiple* inheritance might emerge from a study in this area.
Posted
05/24/02
[ABOUT]
[QUOTES]
[LINKS]