XML.orgXML.org
FOCUS AREAS |XML-DEV |XML.org DAILY NEWSLINK |REGISTRY |RESOURCES |ABOUT
OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]
RE: [xml-dev] XML and databases

Arthur and Mike,

I couldn't let this go by without at least a small comment.  (If you look at the signature block at the end of this message, you'll understand why.)

Part 14 of the SQL standard, called SQL/XML, provides the ability to use a relational database system for native XML storage and management (that is, not "shredded" into many tables/columns).  It is true that, using only the facilities described in SQL/XML, top-level queries are inherently SQL queries, but the use of XQuery from SQL is fully standardized.  Happily, the technology has been implemented in the major SQL implementations, although not all of them implement all of the SQL/XML features.  Although I believe that the product made by my employer has the most complete implementation, I would not claim to be an expert on what products made by our competitors (or by open source efforts) do or do not implement.

At least some SQL systems (and Oracle's is among them) also provide pure XQuery access to XML data stored in the relational store.

I admit that I'm prejudiced, but (unlike Mike) SQL/XML would be among my first choices.  Also among those first choices would be native XQuery (and even XSLT) access to XML data persisted in an SQL system.

I agree with Mike that very small quantities of data, such as 11MB, in-memory management is probably ideal, but with the restrictions that Mike mentioned.  If you need transactional control over your data, isolation among multiple concurrent updaters, etc., then a real (relational, XML, OO, etc.) database is justified.

Hope this helps,
   Jim


At 4/26/2007 09:05 AM, Michael Kay wrote:
Come to think of it, you didn't mention whether there was any characteristic of the data that means you can't store it in a relational database. (I tend to forget about ancient technologies but they still work...)
 
My experience of hybrid relational/XML databases is that there's a lot of awkward language switching involved - you constantly have to remember whether you're in SQL mode or XQuery mode, which function calls and operators are available in which mode, and how to escape your multiply nested quotes. Unless you actually have hybrid relational/XML data (and perhaps even then), they wouldn't be my first choice.
 
(And I might be wrong, but I didn't think SQL Server 2005 had any useful level of XQuery support anyway.)
 
For 11Mb I'd be happy to use an in-memory approach (e.g. Saxon) if it's essentially read-only, but I'd think twice about it if there's significant concurrent update traffic.
 
Michael Kay
http://www.saxonica.com/

========================================================================
Jim Melton --- Editor of ISO/IEC 9075-* (SQL)     Phone: +1.801.942.0144
  Co-Chair, W3C XML Query WG; F&O (etc.) editor    Fax : +1.801.942.3345
Oracle Corporation        Oracle Email: jim dot melton at oracle dot com
1930 Viscounti Drive      Standards email: jim dot melton at acm dot org
Sandy, UT 84093-1063 USA          Personal email: jim at melton dot name
========================================================================
=  Facts are facts.   But any opinions expressed are the opinions      =
=  only of myself and may or may not reflect the opinions of anybody   =
=  else with whom I may or may not have discussed the issues at hand.  =
========================================================================



[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]


News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 1993-2007 XML.org. This site is hosted by OASIS