[MonetDB-users] Is monetDB nativeXML or not?
Hello, I have a question, whether MonetDB/XQuery is native XML database or not. To clarify what is native or not, http://en.wikipedia.org/wiki/XML_database : " Two major classes of XML database exist: XML-enabled: these map all XML to a traditional database (such as a relational database), accepting XML as input and rendering XML as output. This term implies that the database does the conversion itself (as opposed to relying on middleware). Native XML (NXD): the internal model of such databases depends on XML and uses XML documents as the fundamental unit of storage, which are, however, not necessarily stored in the form of text files. " Then according to this page, monetDB is native XML: http://monetdb.cwi.nl/MonetDB/Version4/Documentation/monet/index.html " 2 MonetDB Features MonetDB is database engine geared at high performance on systems with (complex) queries that have to analyze large amounts of data (i.e. OLAP, not OLTP). The features in which it most differs from other DBMSs are summarized below: Independence of SQL: MonetDB has a front-end/back-end design allowing the storage of more than just relational tables (such as object-oriented or native XML data), and allowing the use of querying paradigms other than just SQL (such as OQL and XQuery). " Whereas according to this one, it is not: http://monetdb.cwi.nl/projects/monetdb/XQuery/Documentation/Separate-Documen ts-vs-Document-Collections.html#Separate-Documents-vs-Document-Collections : " 2.9.1.1 Storage Overhead In MonetDB/XQuery all XML is stored in relational tables. " Is then monetDB really native? Thanks in advance for clarification... Regards, M. Tekel
Hi,
this is a big issue. I generally do not agree with the definition of
native. However, for the general accepted terminology MonetDB/XQuery
is *not* a native XML database. We map XML documents to a relational
representation. Please see the paper: MonetDB/XQuery: A Fast XQuery
Processor Powered by a Relational Engine
(http://www.cwi.nl/htbin/ins1/publications?request=pdf&key=BoGrKeMaRiTe:SIGMOD:06)
The reason that I don't agree with the definition is that native has
nothing to do with the physical representation. Monet stores data in
arrays, and arrays are the simplest structures that a computer
understands (we could say the native structure of a CPU). Any native
XML database eventually will store its data to arrays too. So the
statement "... uses XML documents as the fundamental unit of storage"
is kinda of weird because XML is not even a "unit of storage". Native
is about the optimizer, the algebra and the logical level of the DBMS.
lefteris
On Fri, Jul 10, 2009 at 9:05 AM, Mtekel
Hello,
I have a question, whether MonetDB/XQuery is native XML database or not. To clarify what is native or not, http://en.wikipedia.org/wiki/XML_database : "
Two major classes of XML database exist: XML-enabled: these map all XML to a traditional database (such as a relational database), accepting XML as input and rendering XML as output. This term implies that the database does the conversion itself (as opposed to relying on middleware). Native XML (NXD): the internal model of such databases depends on XML and uses XML documents as the fundamental unit of storage, which are, however, not necessarily stored in the form of text files.
"
Then according to this page, monetDB is native XML: http://monetdb.cwi.nl/MonetDB/Version4/Documentation/monet/index.html
" 2 MonetDB Features
MonetDB is database engine geared at high performance on systems with (complex) queries that have to analyze large amounts of data (i.e. OLAP, not OLTP). The features in which it most differs from other DBMSs are summarized below: Independence of SQL:
MonetDB has a front-end/back-end design allowing the storage of more than just relational tables (such as object-oriented or native XML data), and allowing the use of querying paradigms other than just SQL (such as OQL and XQuery).
"
Whereas according to this one, it is not: http://monetdb.cwi.nl/projects/monetdb/XQuery/Documentation/Separate-Documen ts-vs-Document-Collections.html#Separate-Documents-vs-Document-Collections : " 2.9.1.1 Storage Overhead
In MonetDB/XQuery all XML is stored in relational tables. "
Is then monetDB really native?
Thanks in advance for clarification...
Regards,
M. Tekel
------------------------------------------------------------------------------ Enter the BlackBerry Developer Challenge This is your chance to win up to $100,000 in prizes! For a limited time, vendors submitting new applications to BlackBerry App World(TM) will have the opportunity to enter the BlackBerry Developer Challenge. See full prize details at: http://p.sf.net/sfu/Challenge _______________________________________________ Monetdb-developers mailing list Monetdb-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/monetdb-developers
On Fri, Jul 10, 2009 at 9:05 AM, Mtekel
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. Best regards, Jens -- Jens Teubner, jens.teubner@inf.ethz.ch ETH Zurich, Systems Group Haldeneggsteig 4 / IFW B 48.3 8092 Zurich, Switzerland
participants (3)
-
Jens Teubner
-
Lefteris
-
Mtekel