Our dear friend Fabian Pascal (relational
database author/consultant of some renown) has published the 3rd part of his
rant against XML. This one doesn't belabor anyone's lack of intelligence,
but actually makes a few points that seem to be worth some
consideration.
"[T]o the extent that XML is a physical format
for data exchange between applications, why is readability relevant? If it is
not, then it can actually be argued that text-based data exchange compromises
performance for no advantage."
Sounds like the ASN.1 / binary XML discussion!
I think an XML advocate's response is that readability is important for
auditing/debugging data exchanges; "self-describing" tags make it easier to
write programs to produce and parse the messages because the format is not so
rigidly specified; and it is not at all clear that real-world performance on
today's hardware is significantly compromised by using a relatively verbose,
text-based format. Any others?
"Furthermore, whether XML proponents realize it
or not, "what things are, how they are related and how to deal with them" is
almost the definition of a data model (more specifically, of the three main
components of a data model: data types, data structure/integrity, and data
manipulation)."
Well, I pretty much agree ... and of course the
new generation of PSVI-based specs takes this fairly seriously. I do think
that XML needs to think quite a bit harder about its conception of "integrity".
Clearly pointer-based linking or inclusion schemes such as external parsed
entities or XLink/XInclude don't have any built-in notion of referential
integrity, and I have seldom if ever seen this discussed. I have a hypothesis
that XML implies a document-centric notion of integrity that is quite different
from the relational model, but it's clearly something that we need to discuss in
some detail.
'Originally, I understood [algebra] to
mean a set of operations that are closed over some type. That is, every
operation in X Algebra operates on zero or more values of type X and returns a
value of type X...Over what is the XML Query Algebra closed? Nobody has ever
given me an answer that makes sense (apart from the occasional, honest "I don't
know").'
Uhh, anyone wanna try to refute
that?
'[D]ue to their horrendous complexity and
inflexibility, databases and DBMSs relying on the hierarchical model became
obsolete in the 80's, at least technologically. SQL DBMSs based ...
on the simpler relational data model, based on predicate logic and set
mathematics proved superior. ...What is the justification, then, for choosing a
more complex, discredited data model for data exchange, when a majority of
commonly used DBMSs employ a simpler, sounder and, thus, superior data
model?'
Pascal thinks of this as the knockout punch
against XML. I think the XML advocate's response is: Codd
demonstrated that the relational model is simpler to, and more powerful than,
the network/hierarchical data model as a universal theory of
data. Codd clearly won the "great
debate" in the 1970s, but 25 years later the skill of effectively
designing properly normalized relational databases remains is a rare and
valuable one, even though most of us learned the rudiments in school.
Hierarchies may be unsuitable as a general, formal theory of data, but they are
an easy and convenient way for humans to organize concepts (see Herbert Simon's
"The Architecture of Complexity' essay) and for which effective metaphors abound
(e.g., computer filesystems, formal organizations, etc.). So, the
relational model is a great formalism, but the hierarchical XML model is a
convenient, intuitive, and "formal-enough" alternative. What
are some other reasons why the XML hierarchical data model is popular long after
Codd discredited it as a theory of data?
Finally, 'Ironically, many of these
technologies are created as "standards", purportedly to simplify and to maximize
communication and integration, but the plethora of different, ad-hoc, often
multiple standards achieves just the opposite.'
Ouch, he's got us there!
Anyway, it's gotta be more interesting to think
about this stuff than to debate ISO some more, eh?
|