[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

RE: XML Database Decision Tree?

  • From: "Champion, Mike" <Mike.Champion@S...>
  • To: xml-dev@l...
  • Date: Thu, 18 Oct 2001 09:50:51 -0400

decision tree metadata


> -----Original Message-----
> From: Leigh Dodds [mailto:ldodds@i...]
> Sent: Thursday, October 18, 2001 8:54 AM
> To: Magick, Brian; Ranjeet Sonone; xml-dev@l...
> Subject: RE:  XML Database Decision Tree?
> 
> 
> 
> > -----Original Message-----
> > From: Magick, Brian [mailto:Brian.Magick@c...]
> > Sent: 17 October 2001 20:41
> > To: Ranjeet Sonone; xml-dev@l...
> > Subject: RE:  XML Database Decision Tree?
> >


> It's a fairly common XML design pattern to have a head-body structure
> to your schema [2]. e.g. metadata (author, title, etc) and 
> content (paras, markup, etc). Processing the XML to pull out the
information 
> in the head into standard relational tables, whilst leaving the content 
> as a BLOB or referenced file meets most requirements.
> 
> Generally speaking it's the head information that needs 
> indexing, will be most queried on, etc. It's usually least likely to
include 
> mixed content which makes the decomposition easier.

That's a good point.  Twisting it around to reflect my biases <grin>, I'd
put it something like: If you have "document" XML and the schema is easily
separated into easily normalizeable metadata and arbitrarily structured
text content, and most queries will be on the metadata, an XML-enabled RDBMS
that extracts some elements into tables and other elements into CLOBs may be
the most appropriate.  If you anticipate frequent queries on the actual
document structure and content, a native XML DBMS may be more appropriate.

For example, if you want to know the name of a play by Shakespeare that has
a character named "Puck", the RDBMS+CLOB approach will handle it; if you
need to know  which scenes in Shakespeare plays have lines in which the
character Puck says something about Oberon, you'll probably need the
features of a native XML DBMS.

Which reminds me of another "rule" I'd suggest:  If you need to do queries
that exploit the recursive structure of your data, a native XML DBMS will
tend to be more appropriate than a "raw" RDBMS.  For example, if you need to
know which products contain assemblies or sub-assemblies, or
sub-sub-assemblies ... that contain a particular part, XPath-based query
languages will handle it better than SQL-based languages.  (The "bill of
materials" query is a well-known challenge for SQL, but a piece of cake in
XPath).  I guess to be fair, I'd have to say "if you need to do queries that
involve joins across metadata in different collections, an RDBMS-based
approach will tend to be more appropriate than a native XML DBMS, at least
until some flavor of XQuery is widely supported."

Ya know, I'm beginning to see the outline of a decision tree in here after
all! 

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
 

Stylus Studio has published XML-DEV in RSS and ATOM formats, enabling users to easily subcribe to the list from their preferred news reader application.


Stylus Studio Sponsored Links are added links designed to provide related and additional information to the visitors of this website. they were not included by the author in the initial post. To view the content without the Sponsor Links please click here.

Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.