Lists Home |
Date Index |
> If we are querying over a bunch of back-end relational
> databases, why is
> XQuery better than some flavor of SQL? At least the type system
> mismatch could be manageable.
There are many people who seem to think that 99% of the world's data is held
in relational databases. They are badly wrong.
I had some involvement with an internet banking application a few years ago.
When the customer logged on, all the relevant customer and account
information was assembled from various back-end systems into an XML document
which was then used as session data for the duration of the session. If I
remember rightly, there were about six back-end systems involved, and only
one was relational. The main operational transaction system was accessed by
sending an application-level CICS transaction to a mainframe. Many of the
other databases were ad-hoc, for example information about recent
interactions with the telephone call centre was in Lotus Notes.
The beauty of using XML for this kind of information integration is that it
allows the resulting data to have a much richer structure. This makes it
much easier to combine the structured data with the relatively unstructured,
and handle the semantic conflicts that occur: for example if two databases
record different phone numbers for a customer, you just capture both. That
is very much harder to do if the result has to be in relational form.
Decomposing relational queries to address multiple relational data sources
is by now a well-understood problem, but it only works if each data source
can be modelled in terms of a relational view. If the actual data is the
archive of an email mailing list, modelling it as a collection of XML
documents is probably going to be much easier. I see no reason why the same
query decomposition techniques shouldn't work with XQuery as with SQL, but
the technique will be far more powerful simply because XML is a richer
As for the type system mismatch, everything maps to text, and XML is
essentially text, so what's the problem? The fact that XML is text-based is