From: M
To: Editor
Date: 05 Oct 2004
I was thinking the other day about how great it would be if
every operating system contained a RDBMS (or even a SQL DBMS!) for applications
to use. It would mean that programs like Microsoft Word and the like would no
longer have these opaque file formats which require complex deciphering --
every application's data would be available to any other program (or not,
depending on the relation/tuple level security model). It would dump the
outmoded "file" concept (which exposes the physical) and instead work
with more familiar, logical, concepts like "documents" and
"projects".
When I thought about it more, a true RDBMS would be the
operating system itself -- except the "data" that lives in the RDBMS
is not limited to things like emails or spreadsheets but indeed application
programs themselves (because what are programs but logic?). Data is data, after
all, and it can all be stored in a TRDBMS.
Even then, it would turn the internet from a series of poorly
integrated 'flat' (non-Relational proponents have been misusing that term so it
feels good to throw it back at them) files to a series of interconnected
(distributed?) RDBMS. Application developers have been long bemoaning the poor
interface of network-based applications. When your application is *easily*
portable -- tuples are tuples, after all -- there is no difference between an
application running on your local system or on some server somewhere, although
the model leaks a bit because there are still network latencies involved, etc.
Would this not revolutionize (the 'true' revolution Codd's
model presented) the way computing is done? It seems like an incredibly obvious
thing to do once you understand RDBMS -- or is there something I'm missing?
Of course, in today's climate I am fairly sure current
companies would not be the ones to lead this innovation. Microsoft, Sun,
Oracle, etc. all have too much riding on keeping their data proprietary and
their products distinct (who would buy SQL Server if it was installed on every
copy of Longhorn?). Furthermore, Rob Pike (the guy that helped develop Unix)
indicates that society is not even considering innovation any more (which is
something you've mentioned quite a bit) e.g. System Software Research is
Irrelevant
What do you think would need to occur for someone to a)
actually try and implement this and then b) get home users to adopt it? I think
a startup-type company would be the best and it would have to make inroads in
corporations before anyone would really be able to say "See, this
works!"
I don't know if this made any sense -- but to me it seems
obvious that this is the way we should be headed and most of what the IT
industry now is doing is so hopelessly wrong that we'll NEVER make it there...
at least not in my lifetime, and that's sort of depressing.
From: Fabian Pascal
To: M
An OS has database functions, but not only. It could
incorporate a DBMS, of course, for that purpose, but that would not eliminate
file formats, etc, because at the logical level there are structures
other than tables, such as documents, spreadsheets, etc; and various physical
structures have nothing to do with the relational model.
In any case, the DBMS would have to be truly relational and
implemented via the TransrelationalTM Model,
to pass muster. Don't hold your breath.
Posted 11/19/04