OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help



   Re: [xml-dev] Indexing solution for native XML database

[ Lists Home | Date Index | Thread Index ]

On 11/29/05, Michael Kay <mike@saxonica.com> wrote:
> > I'm searching for an indexing solution for my native XML
> > database project,
> > which I'm writing as a learning project.
> >
> > I use C++ as development language and a relational database
> > as backend.
> Why?
> I simply wouldn't start from here. Relational databases are bad at storing
> hierarchic data, they are bad at storing data whose order is significant,
> and they are bad at storing data whose structure is irregular. Many of the
> XPath axis traversals will map to recursive queries, which cannot be
> expressed in first-order predicate calculus. Even the operation of
> determining namespace context will require either a recursive query, or
> highly-redundant data storage.
> You'd be better off starting with an object database.

Gee Michael, care to over generalise just a tad?

If your data has low update frequency then a set/subset in-order data
model will have flat query structures but provide direct transforms to
hierarchical structures.  Update and insert operations can be
expensive in the general case for such a model, but for specific cases
it may not be an issue.  An ordered index in many relational databases
can have as good or better performance than in an object database.

Sure, a relational database might not be the best fit for a given
hierarchical structure. But for other cases the fit may be as good or
better than any other database....  Given the rather low level of
hierarchy expressed in the example I can see several ways of
addressing performance, but I'll address direct those directly to the
author of the question.

Peter Hunsberger


News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS