With the release of IBM's DB2 9, formerly known as Viper and currently in Release Candidate, IBM also plans to unveil the new DB2 9 Developer Workbench. DB2 Viper brings you the best database solution for XML, providing first class native storage and the ability to integrate XML and your existing relational data, to meet the widest range of business requirements.
Viper contains native XML technology that does away with the traditional ways to handle XML data: by shredding or parsing it and putting data assigned to a particular tag into a column in a relational table, or by putting 'blobs' of data into relational fields.
Both nonnative ways of handling XML are deficient as they stand on their own. Shredding XML means you lose the fidelity, or the hierarchy, of the XML document itself.
For example, if XML data comes from a Web application that includes an electronic signature that's associated with part of a form, it's contained in the XML hierarchy.
But if you parse the XML content in rows across a relational table, that hierarchy is lost, and you're unable to pull that exact structure back out.
Blobs retain XML fidelity, but you lose the ability to search on data that's put into fields.
Viper's native XML technology provides support for XQuery, an emerging standard language that extends XPath and is specially designed for processing XML data.
With Viper, applications can use XQuery, standard SQL or both to retrieve documents from either or both underlying storage formats.
Developers will be able to build next generation applications using XQuery and SQL to build agile applications faster. DB2 9 provides enhanced application interfaces for Java (JDBC/SQLJ), .NET, C/C++, and PHP. The DB2 Developer Workbench is a new Eclipse-based tool to build, test, and deploy stored procedures (Java and SQL) and it also includes a graphical XQuery builder to help you optimize access to your XML data access.
'You can mix XQuery within a SQL query and vice versa,' Spang said. 'You can write one query against the database and it can give an answer, some of which is in XML structure and some of which is in table structure.'