[Monetdb-developers] Is monetDB nativeXML or not?
jens.teubner at inf.ethz.ch
Fri Jul 10 11:12:52 CEST 2009
On Fri, Jul 10, 2009 at 9:05 AM, Mtekel<thx at trolej.sk> wrote:
> I have a question, whether MonetDB/XQuery is native XML database or not.
The term "native XML database" is mainly used for either marketing or
for religious discussions. It sounds quite nice, for instance, if you
say your DBMS can handle XML "natively."
>From a technical point of view, the term does not make any sense. There
is no "native" way of representing tree-shaped XML data on a linear (or
at best 2D) harddisk platter, or in a linearly addressed memory. You
have to linearize your XML data in some way.
A more meaningful question would be whether a system uses a storage and
processing model based on relational technology. This question could be
answered with "yes" for MonetDB. MonetDB/XQuery linearizes XML data
using a relational table model. Tables are then stored using MonetDBs
existing techniques. All query processing is based on a relational
model, too, though in many critical cases we use tuned algorithms that
"know" about the tree origin of their input tables. You find some
information on this in the SIGMOD 2006 paper that Lefteris mentioned, or
in our VLDB 2003 paper on "staircase join."
There are pros and cons of the relational approach taken in
MonetDB/XQuery. The big pluses are that we inherit the enormous
scalability that relational systems have today, which allows
MonetDB/XQuery to process gigabytes of XML easily. Also, since the
relational model a has very nice and sound conceptual model, we can do
quite aggressive optimizations. On the negative side, the efforts of
query compilation and optimization won't pay off if you query is very
complex, but operates on small data sets only. You find a papers that
describe a bunch of tricks we can play with relational query
representations on the Pathfinder website: www.pathfinder-xquery.org.
Jens Teubner, jens.teubner at inf.ethz.ch
ETH Zurich, Systems Group
Haldeneggsteig 4 / IFW B 48.3
8092 Zurich, Switzerland
More information about the developers-list