On Sun, Dec 21, 2003 at 04:25:43PM +0200, Eli Marmor wrote:
> Hi,
> 
> Does anybody there have any experience and/or knowledge about how to
> implement a hierarchical XML *database*?

During my studies I implemented (in cooperation with another guy) a
parser/compiler for the Quilt XML query language.  Quilt is the base for
the XQuery language - a standard, developed by W3C:
http://www.w3c.org/XML/Query

Quilt (or XQuery) can be seen as "SQL for XML".  This is of course very
simplistic.  One very important distinction in functionality is that
Quilt is purely query-oriented - there is no DDL or any commands,
similar to INSERT/UPDATE/DELETE.  There is still no certainty on how
such commands should look like and what precise actions perform.

Another huge issue with the whole field of XML databases is that there
is still no (as far as I know) an agreed theoretical basis for some sort
of algebra on hierarchal queries, similar to the relational algebra we
have for traditional RDBMSes, and which is responsible for their good
performance.  As a result, there are no good optimization techniques and
rewriting rules for the queries, and the performance sucks.  Therefore,
working with any large XML datasets, that are not easily represented as
relational tables, is very problematic.

There are, of course, many theoretical papers on the issue, and even
proof-of-concept implementations in the academic world, but as far as I
know, none of them are ready for the big time.

All that said, I can easily imagine some simple situations, where the
XML documents are small, and the performance wouldn't be an issue.  In
such a case, you can indeed try some of the available solutions, such as
the conventional XPath, or the new Berkeley XML library (never tried it
myself, would appreciate a feedback if you go for it).


Hope that helped,

Regards,

Andre.

-- 
Andre E. Bar'yudin
Home page: http://www.cs.huji.ac.il/~baryudin/

Attachment: pgp00000.pgp
Description: PGP signature

Reply via email to