YOUR FEEDBACK
Robert Z. Cashman wrote: I'll be the first one to cry foul once someone does something wrong with the pat...
Cloud Computing Conference
March 22-24, 2009, New York
Register Today and SAVE !..


2008 East
DIAMOND SPONSOR:
Data Direct
Frontiers in Data Access: The Coming Wave in Data Services
PLATINUM SPONSORS:
Red Hat
The Opening of Virtualization
Intel
Virtualization – Path to Predictive Enterprise
Green Hills
IT Security in a Hostile World
JBoss / freedom oss
Practical SOA Approach
GOLD SPONSORS:
Software AG
The Art & Science of SOA: How Governance Enables Adoption
PlateSpin
Effective Planning for Virtual Infrastructure Growth
Fujitsu
Automated Business Process Discovery & Virtualization Service
Ceedo
Workspace Virtualization
Click For 2007 West
Event Webcasts

2008 East
PLATINUM SPONSORS:
Appcelerator
Think Fast: Accelerate AJAX Development with Appcelerator
GOLD SPONSORS:
DreamFace Interactive
The Ultimate Framework for Creating Personalized Web 2.0 Mashups
ICEsoft
AJAX and Social Computing for the Enterprise
Kaazing
Enterprise Comet: Real–Time, Real–Time, or Real–Time Web 2.0?
Nexaweb
Now Playing: Desktop Apps in the Browser!
Sun
jMaki as an AJAX Mashup Framework
POWER PANELS:
The Business Value
of RIAs
What Lies Beyond AJAX?
KEYNOTES:
Douglas Crockford
Can We Fix the Web?
Anthony Franco
2008: The Year of the RIA
Click For 2007 Event Webcasts
SYS-CON.TV
TODAY'S TOP SOA & WEBSERVICES LINKS


David & Goliath: A Comparison Of XML-Enabled And Native XML Data Management Techniques
A comparison of XML-enabled and native XML data management techniques

Due to the great increase of data in XML format, companies increasingly have to face the issue of how to manage this data efficiently. To do this it is important to take advantage of XML's potential, and to integrate with applications that access data stored in relational database management systems (RDBMS).

Currently, there are no available tools that can be used to analyze whether XML data is best stored in conventional RDBMSs or in native XML database systems, in particular applications involving legacy or new systems. The most appropriate solution will depend on the process type (read only or read-write), the XML document's structure (single or multiple hierarchies, or dynamic structure changes), data volume, and the application priorities (fast queries, concurrent updates), for example.

In this article we present, in a graphical form, the response times for some common operations using SQL and XPath. We store XML data using different storage and management solutions: Oracle ("Goliath") - an XML-enabled database, and eXist ("David") - a native XML database (NXD). eXist is a very recent DB that needs maturing but presents many virtues; "Goliath" is Oracle, a mature, robust, secure, and reliable RDBMS. We're bringing these two databases face-to-face like "big titans" to demonstrate which is the best at different development scenarios.

The main advantage that we have found for the eXist NXD is the direct XML management it offers as a native XML database. Another advantage is that eXist is open-source software, which also provides all of the requisite libraries. The means that it offers an inexpensive technology option, since only training costs will be incurred in its use.

In XML data management, companies wonder how to manage XML data and integrate with legacy RDBMS. Database queries must comply with the same structure as XML data. The access to RDBMS is direct through SQL sentences. NXD allows access to XML data directly. Figure 1 shows the three-tier architecture used in this experiment.

XML Data Management
In this article we investigate two different approaches to XML data management: one that uses conventional database techniques to deal with XML formatted data (often called XML-enabled database systems) and an alternative that uses XML formats as its basic storage format, native XML database systems. For the fist approach, XML-enabled databases, we used Oracle, a widely used commercial DBMS. For the second approach, we used eXist, an open source native XML database.

Oracle (XML-enabled)
Oracle (and other major RDBMS vendors) has extended its basic RDBMS functionality to include XML data management capabilities. This kind of database is named XML-enabled. By using XML-enabled databases we can transfer data from relational tables to XML documents in both ways.

For using Oracle XML-enabled database there are two main solutions:

  1. The whole XML document is stored in XMLType column:CLOB [8] (XML document stored as CLOB, character large object)
  2. An XML document's structure is mapped to database columns (XML SQL Utility).

    eXist (native XML database)
    Why store XML documents somewhere that doesn't have XML structure (RDBMS)? Why adapt the XML structure to that kind of an RDBMS when there are more natural ways to store XML documents? Open source eXist NXD will be the best solution in certain cases.

  3. Open-source eXist, Native XML Database (NXD)
Let's analyze each solution's pros and cons.

XMLType:CLOB The Oracle XMLType:CLOB stores the whole document, which is good because we don't loose context or data hierarchy, and XPath's queries are allowed. In addition, it allows us to use the XPath syntax to update specific elements and attributes without rewriting the document. This solution is not as good as object-relational solution querying and updating data. Later, we will present the response times using XMLType query engine.

In previous database versions (Oracle 8i, for example) we had no XMLType, we only had CLOB choice, and there was no way to update an XML document's part. It was necessary to change the whole document and XPath's queries were not allowed. Using more recent Oracle RDBMS versions such as 9i and 10g, this kind of XML management is much better supported. Also, this has become the most common solution for unstructured XML documents (document-centric).

XMLType has predefined member functions to extract XML nodes and fragments. We use various functions such as extract( ) (this uses XPath to return fragments as XMLType), and getStringVal( ) (which returns a document as a string). These functions are embedded into SQL sentences to provide XML functionality. For example:

Create table:
Create table clientes of xmltype;

Insert document into a table:
Insert into clientes values ('

Update:
update clientes set object_value =
updatexml(object_value, '//nombre/
text()', 'Ainhoa');

About Ainhoa Serna
Ainhoa Serna is lecturer in the department of Informatics at ETEO (Mondragon Unibertsitatea). She has also worked as Project Leader at engineering and Research projects since 1995. Her research work is focused on XML.

About Jon Kepa Gerrikagoitia
Jon Kepa Gerrikagoitia is lecturer in the department of Informatics at ETEO (Mondragon Unibertsitatea). He has participated in a European Research Project and engineering projects in the last 10 years. His research work is focused on XML Web Services.

YOUR FEEDBACK
Mada Peña wrote: Maravilloso estudio. Me ha ayudado mucho en los desarrollos Web que realizo.
Mike Forrester wrote: It seems impossible that eXist can obtain better performace than Oracle in certain cases. This kind of research is really good for companies and IT Managers.
Joe Trimble wrote: Great job ! I´ve enjoyed it, because I find it really interesting & helpfull.
Ainhoa Serna; Jon Kepa Gerrikagoitia wrote: David & Goliath: A Comparison Of XML-Enabled And Native XML Data Management Techniques. Due to the great increase of data in XML format, companies increasingly have to face the issue of how to manage this data efficiently. To do this it is important to take advantage of XML's potential, and to integrate with applications that access data stored in relational database management systems (RDBMS).
XML JOURNAL LATEST STORIES . . .
A round-up of the many themes and topics of interest to infrastructure architects, developers and IT managers featuring at SYS-CON's Cloud Computing Expo being held November 19-21, 2008 at The Fairmont Hotel in San Jose, California. The conference is expecting a record turnout of senio...
SYS-CON Events announced today that the leading global SOA, Virtualization, Cloud Computing and Open Source technology provider FreedomOSS named "Gold Sponsor" of SYS-CON's SOA World Conference & Expo which will take place November 19-21, 2008, at the Fairmont Hotel in the heart of Sil...
Cloud Computing offers significant benefits over traditional solutions for deploying production systems as well as for conducting development and testing activities. This session will distill the unique characteristics of clouds and describe how to best think about deployments in the c...
Intel has just released Intel XML Software Suite 1.2. This latest release helps maximize XML performance, while minimizing the effort for any Enterprise, SOA, SaaS, and Web 2.0 based applications. Intel XML Software Suite 1.2 optimizes XML application performance, takes full advantage ...
SYS-CON Events announced today that the leading global SOA, Virtualization, Cloud Computing and Open Source technology provider Intel named "Gold Sponsor" of SYS-CON's SOA World Conference & Expo which will take place November 19-21, 2008, at the Fairmont Hotel in the heart of Silicon ...
SUBSCRIBE TO THE WORLD'S MOST POWERFUL NEWSLETTERS
SUBSCRIBE TO OUR RSS FEEDS & GET YOUR SYS-CON NEWS LIVE!
Click to Add our RSS Feeds to the Service of Your Choice:
Google Reader or Homepage Add to My Yahoo! Subscribe with Bloglines Subscribe in NewsGator Online
myFeedster Add to My AOL Subscribe in Rojo Add 'Hugg' to Newsburst from CNET News.com Kinja Digest View Additional SYS-CON Feeds
Publish Your Article! Please send it to editorial(at)sys-con.com!

Advertise on this site! Contact advertising(at)sys-con.com! 201 802-3021


SYS-CON FEATURED WHITEPAPERS


ADS BY GOOGLE