Database Vendors Improve XML Handling
XML finds a place in enterprise RDBMSes.
The latest enterprise relational database management systems (RDBMSes) from market leaders IBM Corp., Microsoft and Oracle Corp. all boast improved XML-handling capabilities.
XML figured prominently in the recent releases of IBM's DB2 9.5 and Oracle's 11g, released last month, as well as SQL Server 2008, which is due to ship by the middle of next year and is available now for testing.
The ability to efficiently store and access XML and relational data types in one system represents a key point of differentiation among enterprise database vendors. It also allows enterprise developers to build data-driven apps using XML data types.
Open source RDBMSes from companies such as MySQL AB or PostgreSQL currently lack this hybrid XML-relational data-storage capability-however, they may catch up. At least one solution provider, XAware Inc., offers a way to add the kind of XML-handling capabilities to MySQL that were introduced with Oracle Database 9i and IBM DB2 9, according to Bill Miller, XAware's executive chairman.
XML handling, of course, isn't the only differentiator among RDBMS vendors. IBM, Microsoft and Oracle have all added helpful automation capabilities to their database products that distinguish them, in many cases, from open source vendors.
About six years ago, industry experts had heated debates about the value of running XML natively in an RDBMS. Trying to fit XML's hierarchical structure into an RDBMS table structure was like trying to fit a square peg in a round hole. That argument has since shifted, according to Ron Schmelzer, senior analyst and founder of research and consulting firm ZapThink LLC.
"You need an XML indexing engine [in RDBMS products]," Schmelzer says. "But it took until the last one to two years before IBM, Oracle and Micro
Who's Winning the Database Wars?
Companies spent $11.5 billion on new database software licenses, according to a forecast by Forrester Research Inc.
Oracle Corp., IBM Corp. and Microsoft account for the vast majority of all database software licenses, says Forrester analyst Noel Yuhanna. Oracle accounts for 35 percent of the market with its Linux, Unix and Windows database platforms. IBM has a 33 percent market share with its DB2, Informix and IMS data servers. Finally, Microsoft controls 22 percent of the market with SQL Server and Access databases.
From there, the percentages fall off precipitously. The forth-ranked supplier of database software, Sybase Inc., holds a two percent market share; the remainder of the database market is held by companies such as FileMaker Inc., Progress Software Corp., MySQL AB, ANTs Software Inc., EnterpriseDB, PostgreSQL, Ingres Corp. and Software AG, among others.
A growing number of enterprises are using Microsoft's Access desktop database. Yuhanna says 25 percent used Access in some form three years ago, and now that figure is up to 40 percent.
soft built XML-specific indexing engines into their data storage systems."
Past methods of incorporating XML in an RDBMS had problems, says Bernie Spang, IBM's director of data servers. With the character large object (CLOB) approach, the XML data are put into a cell. However, if a user wants to find a piece of data in that record, the individual must pull the whole record out and parse it. Another approach is to shred the XML document and put the data into relational database columns. However, shredding can lose XML's hierarchical structure, Spang says.
IBM, Microsoft and Oracle have all settled the matter by incorporating both XML and relational databases in one system.
IBM brands its XML capabilities in its data servers as "pureXML." This technology, first introduced with DB2 9.1, can manage both XML data and relational data while optimizing performance. It also lets the user query the hybrid database using SQL/XML or XQuery, regardless of the underlying stored data type. IBM is further emphasizing its pureXML capability in DB2 9.5.
"We put both the relational and the XML data structures in the same database," Spang says. "So, you can do a query against the database and get the results back from both the XML-structured data and the relational-structured data with a single query."
RDBMS products from Oracle and Microsoft have similar querying capabilities, according to James Kobielus, principal analyst, data management, for research firm Current Analysis Inc.
"Oracle uses SQL/XML, which defines a standardized mechanism for using SQL and XML together," he says.
IBM and Oracle both use SQL/XML, an ISO standard for constructing XML elements and attributes using values in relational tables. However, SQL/XML is not supported by Microsoft SQL Server. Instead, Microsoft has proprietary extensions to SQL that essentially do the same thing, says Ron Bourret, a consultant and author of several XML database books.
"SQL Server supports the SQL-2006 standard XML datatype with integration of XQuery into your SQL query engine," a Microsoft spokesman said in an e-mail.
IBM Gets the Nod
For its part, IBM's newest release of DB2 may have an edge for its XML-handling capabilities, according to industry analysts. "IBM's pureXML approach is probably the most robust and technically sophisticated of all the RDBMS systems that have native XML-handling support," says ZapThink's Schmelzer.
"We believe half of the XML deployments today on databases are with DB2, mainly because IBM has a very strong hybrid approach to dealing with storage," says Noel Yuhanna, principal analyst at Forrester Research Inc.
"It used to take a lot of CPU cycles to deal with XML data objects [and] that's changed with the new releases of DB2, Oracle and Microsoft databases," he adds.
XML adoption is still evolving, according to Yuhanna; "So, in the next coming years, I think we'll see other vendors -- Oracle and Microsoft -- catching up [to IBM], delivering even higher performances."
Kurt Mackie is senior news producer for the 1105 Enterprise Computing Group.