| Store | Cart

XML overuse? (was Re: Python to XML to Python conversion)

From: Jonathan Hogg <jona...@onegoodidea.com>
Fri, 12 Jul 2002 16:11:34 +0100
On 12/7/2002 15:03, in article QkBX8.72747$vm5.2639597 at news2.tin.it, "Alex
Martelli" <aleax at aleax.it> wrote:

> Somebody else commented that "XML databases" are a good idea> because some programmers are bad at designing relational schemas.> <shudder>. > > Now THAT is an idea that sends shivers down my spine.> Maybe I'm just too pessimistic, but I'd really like to look at> the relational schemas autogenerated from DTD's or whatever --> and if the underlying relational stuff isn't there, or isn't at> all accessible, then please include me out of such plans.

Heh. Now that would have been me ;-)

Except what I actually said was:

> Also, XML databases can be used and make a lot of sense if the data can be> arbitrarily structured. People are often very poor at designing relational> schemas.

If the data is complex and hierarchical then a good relational schema is
going to be very hard to produce, and thus more likely than not going to be
done badly.

XML databases can be built (as can most data repositories) on top of an
RDBMS, but often they are pure databases similar to an OODB - this is
because relational databases aren't fundamentally very good at managing
arbitrary hierarchical information, which was my point.

Hierarchical data is also not well-suited to relational querying (Oracle's
"START WITH ... CONNECT BY" being the best attempt I've seen at it), which
is why XML querying languages like XPath and (soon) XQuery exist. An XML
database is best thought of as a hierarchical filesystem of XML files.
Except that, unlike a filesystem of XML files, the database can maintain
indices and a layout that enables optimised querying of fragments of
multiple documents.

For a reasonable example, take a look at Apache XIndice:

    <http://xml.apache.org/xindice/>

One should be wary of getting stuck in one mindset - even if it is a very
good one ;-)

Jonathan

Recent Messages in this Thread
Mark Jul 12, 2002 12:08 am
Harry George Jul 12, 2002 12:01 am
theh...@binary.net Jul 12, 2002 01:22 am
Jeremy Bowers Jul 12, 2002 03:01 am
Peter Hansen Jul 12, 2002 03:41 am
Oren Tirosh Jul 12, 2002 05:54 am
Erik Max Francis Jul 12, 2002 08:16 am
Tim Rowe Jul 12, 2002 04:37 pm
François Pinard Jul 12, 2002 02:49 pm
Peter Hansen Jul 12, 2002 04:08 pm
Jeremy Bowers Jul 12, 2002 02:52 pm
Huaiyu Zhu Jul 12, 2002 05:45 pm
holger krekel Jul 13, 2002 02:55 pm
Huaiyu Zhu Jul 15, 2002 06:04 pm
holger krekel Jul 16, 2002 01:18 pm
Clark C . Evans Jul 16, 2002 06:27 pm
Steve Howell Jul 16, 2002 06:31 pm
Huaiyu Zhu Jul 16, 2002 10:14 pm
Clark C . Evans Jul 17, 2002 01:30 am
James Kew Jul 17, 2002 10:52 pm
François Pinard Jul 18, 2002 11:11 am
Huaiyu Zhu Jul 18, 2002 06:10 pm
Huaiyu Zhu Jul 18, 2002 06:36 pm
Matt Gerrans Jul 12, 2002 07:03 am
Jonathan Hogg Jul 12, 2002 08:07 am
Clark C . Evans Jul 13, 2002 12:29 am
Alex Martelli Jul 12, 2002 08:01 am
Jeremy Bowers Jul 12, 2002 02:55 pm
Jeremy Bowers Jul 12, 2002 03:53 pm
Terry Reedy Jul 12, 2002 02:03 am
David Mertz, Ph.D. Jul 15, 2002 02:49 pm
Alex Martelli Jul 12, 2002 02:03 pm
Jonathan Hogg Jul 12, 2002 03:11 pm
Cameron Laird Jul 12, 2002 01:35 pm
Cameron Laird Jul 12, 2002 01:27 pm
Alex Martelli Jul 12, 2002 08:37 am
Doru-Catalin Togea Jul 12, 2002 09:43 am
Jonathan Hogg Jul 12, 2002 01:44 pm
François Pinard Jul 12, 2002 02:37 pm
Mike C. Fletcher Jul 12, 2002 04:56 pm
Jeremy Bowers Jul 12, 2002 03:00 pm
Tim Rowe Jul 12, 2002 04:37 pm
Messages in this thread