OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [xml-dev] XML Database Decision Tree?

Here are some basic rules.  Please ignore my bias here but I like to classify this into 3 categories:

1. Database Extenders - Oracle, IBM and Microsoft
2. Native XML DBMS that use RDMS technology - B-Bop and several public domain initiatives
3. Native XML DBMS that use proprietary database technology - Software AG, Excelon, Neocore and others

Mike Champion gives a pretty good guideline.  Let me add a few comments and corrections.

In the third paragraph of his response he correctly points out the issue of "referential integrity" that Native XML DBMS
does not support.  I believe that is true of the category 3 of the classification.  Database Extenders and Native DBMS
that use RDMS technology support the notion of "referential integrity".  Some of them also generate XML from data objects
and data objects from XML.  B-Bop's Xfinity is one of them.

If your application requires you to store and manage a lot of relational tables and some XML documents or lot of XML documents
that have relatively fixed DTD/Schema, approach 1 will work for you quite well.  If you do not need complicated queries on the
XML documents and will use the documents pretty much in its entirety, you can use the CLOB or BLOB approach to store these
documents.  If you need fragment retrieval and complicated queries on your XML document, you will have to do some mapping and
break the XML documents into a set of relational tables.  Obviously it would be lot of work when the DTD/Schemas can change or
you use a number of them.  If you have mixed content, you will have to use the CLOB or BLOB approach.  If you do not, you can
use the "shredding" approach.

If your application requires you to store and manage a lot of relational tables and a lot of XML documents with varying DTD/Schemas
and the DTD/Schemas need to be changed frequently, you are better of with the solution offered by category 2.  You will use the RDMS
for your relational data anyway.  You will use the native XML capabilities of these DBMS to store and manage your XML documents.
Some of them (like B-Bop Xfinity) provide the notion of "referential integrity" and generation of data objects from XML and vice versa.
You also get the performance, reliability, scalability and reuse of DBA expertise that you have with RDMS technology.

I will let the representatives of Software AG and Excelon explain under what circumstances their solution will provide you with value.



Magick, Brian wrote:

With a number of XML database tools on the market, and the frequenting of this board by the likes of Software AG, eXcelon, and others, has anyone attempted to determine a decision tree governing when to use a dedicated native XML database versus using the native features of Oracle and SQL versus not using XML as a solution at all?  I am struggling right now with deciding which factors should go into this decision and how the ultimate decision should be made.  Any insight would be great!



Brian Magick