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/
pgp00000.pgp
Description: PGP signature
