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?

I think the world is currently in a state of schizophrenia. Both relational 
and native XML databases offer only part of the solution to a problem that 
we all keenly feel. Both the database and the web server / application 
server would like to be the center of the world.

The original relational database scenario was to use a relational database 
for data integration, building the integrity constraints into the database, 
and placing the database firmly at the center of most program design. These 
days, the center for data integration, data exchange, and a great deal of 
our programs is the web server, and much of the data that is exchanged is 
XML. The process of exchanging data is key, and the data we exchange comes 
in a wide variety of formats.

Traditional relational or hierarchical databases were never that good for 
data integration because they were too rigid. However, they are really good at:

- transactions
- security
- reliability
- scalability
- declarative integrity constraints
- powerful queries (relational only)

Just about everything I do that is XML-centric and involves data exchange 
is a lot better off if I have all of these properties. On the other hand, 
if I have information coming in standardized XML formats, which have a 
carefully designed structure and are often used in the same way by many 
companies, it is often nice to be able to use this structure directly.

Some XML databases are actually quite good at transactions, security, 
reliability, and scalability; others are good for some of these. (Others 
offer little core database functionality.)

XML is not very good at declarative integrity constraints, and I do not 
know of any XML databases that have a good story on this front. I also know 
of no XML databases that support triggers.

The XQuery query language will give XML databases largely the same level of 
functionality as SQL, but for a richer data model. It is still under 
development, though. Adding updates to XQuery gets another level of 
database functionality, and I know that several vendors are considering 
doing this whether or not updates make it into XQuery 1.0. Querying using 
only XPath is very limiting for typical SQL-like applications.

At the same time, relational vendors are racing to provide better support 
for XML and for messaging applications.

So what are y'all doing to integrate your databases with the web server? 
What are the layers of software in between? Where is the missing 
infrastructure that you are currently programming around? Does the current 
trajectory of relational and XML database vendors leave big gaps, or do you 
think we will cover your needs in the next few years?