[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: [xml-dev] XML Database Decision Tree?
- From: "Champion, Mike" <Mike.Champion@SoftwareAG-USA.com>
- To: xml-dev@lists.xml.org
- Date: Fri, 19 Oct 2001 09:02:11 -0400
> -----Original Message-----
> From: Leigh Dodds [mailto:ldodds@ingenta.com]
> Sent: Friday, October 19, 2001 4:31 AM
> To: xml-dev@lists.xml.org
> Subject: RE: [xml-dev] XML Database Decision Tree?
>
> Native XML databases; a bad idea for data?
> http://www-106.ibm.com/developerworks/library/x-xdnat.html?n-x-10181
>
OK, I'll bite.
1) Storage: "decomposing the XML document to persist it to a relational
database is not all that difficult" -- I have a one-word answer: "DocBook?".
<sneer>
"Do you really want your information's structure to vary?" Uhh, no ... but
do I usually get a vote? Simplicity of storage is probably the biggest
advantage of a native XML DBMS: it is easy take a chunk of XML and store it
in any of the native XML DBMSs I've researched; it takes considerable
analysis and programming in the XML-enabled RDBMSs. This makes native XML
DBMSs valuable as reliable cacheing/logging tools for simple XML messages,
not to mention making it possible to do useful things with complex
documents.
2) Retrieval: "some of the native XML platforms require that the entire
document be returned from the database" Uhh, which ones? Not the ones
supporting XPath, which is pretty much all of them, AFAIK.
"many relational database vendors are currently implementing thin XML
serializer wrappers that enable them to generate XML documents on demand
from relational data." Right, but I thought we were talking about XML data?
3)Searching: "searching will return only a set of XML documents; the calling
program must then take further action on those documents, if necessary."
True. SQL has a far richer set of data manipulation operators than XPath
(XQuery addresses this to some extent), and is (loosely) based on a general
theory of data, and XML is much more ad hoc.
"these features are indispensable when working with traditional documents,
where context plays a large role in meaning, but far less important when
working with structured data" Absolutely; if you don't have relatively
complex document-like XML, the *searching* features of a native XML DBMS
don't buy you much over storing simple XML in an RDBMS. But if you do have
"interesting" XML schema, e.g. with recursive elements, simple XPath queries
can address problems that seriously challenge SQL experts.
4) Aggregation: "pulling information together and rolling it up (into sums,
averages, and so on) is quite difficult." He's right. Guilty as charged,
although he didn't emphasize "joins" as much as I would have. Again, XQuery
will help, but what we really need is a better theoretical understanding of
how hierarchical XML data relates to the relational model, sortof an
"InfoSet Algebra" if you will. XQuery is at least addressing this problem of
formalizing XML operators, and if even if they fail it will be dissertation
fodder for a new generation of CS theorists :~)