Dear Chris. While
I don't dispute that there are situations where a native XML store is better
than the mapping, let me address some of your points below.
I think it is
important to note that XML-enabled relational databases have some specific
scenarios in mind (integrating relational data/schemata with XML in a
bi-directional way) that do not work that well for storing "document-centric"
XML. Thus, use the tools that fit the task at hand.
A couple of questions
that will quickly let you know that an RDBMS is not going to
Are you dealing with XML data whose schema is not necessarily
consistent from document to document or the schemas change often? The key advantage of using XML as a
data model is extensibility: you lose that advantage when you store it in an
Do you need to update this data often? All current RDBMS implementations
(except for a beta utility available for Microsoft for SQL Server) do not
allow incremental document updates. You must replace entire documents when
you need to make a change as all of the RDBMS systems store the data as
BLOBs. Most of our competitors in
the XML DB world also do not allow incremental updates. This is very important should data
need to change fairly often.
The update facility of
SQL Server is released and fully supported (and not beta). It is shiped as
a web release via msdn.microsoft.com/xml and
Is performance and scalability important to you? We’ve tried both Oracle and DB2 with
over 100,000 documents, which is a relatively small amount. Oracle fails the benchmark, and DB2
goes very slow. Why? They have to parse the data on the fly
to do anything with it: query, index, anything. eXcelon XIS
stores the data in parsed form so we eliminate this overhead PLUS our caching
technology is distributed and works like an in-memory database to give you
really fast access.
Do you have data that comes from business partners or from systems
where you really do not have much control over the schema? Does that data need to be integrated
into your common XML data model?
If so, keeping that all coordinated in an RDBMS is very difficult. This is the problem that has afflicted
most of our customers and a primary reason why they failed in using an
If you need to integrate with
your existing relational data model, then the story of course looks
How many nodes wide and how many nodes deep is your XML data? If you decide to go the mapping route
(which is the only way to avoid having it stored as a BLOB), the mappings will
fail or become immensely complex the wider and deeper the XML data
This is a fairly vague
statement. You need to do the mapping once and there are tools available (at
least for the SQL Server annotated schema approach) that provide you with a
simple to use visual interface. Can you provide more information why and
when mappings fail or become immensely complex in the context of data-centric
XML documents (and not