Inside IBM DB2 Viper
A technological marvel, IBM's new XML-powered server aims to change the face of database storage
The viper has struck.
IBM’s newly released DB2 9.1 (previously code-named “Viper”) sheds many of the limitations of DB2 8, boosting performance, scalability, and security. But one feature in particular, the hybrid XML/relational engine, gives this Big Blue serpent its distinctive shape. For customers plunging into the new era of XML data management, Viper’s innovations are tempting indeed.
Native XML databases have been around for a while, but they require special libraries and aren’t compatible with relational data. On the other hand, traditional relational databases have trouble dealing with hierarchical models and have only limited functionality in this area. So the major database vendors have been busy bolting XML capabilities onto their relational database products. IBM is no exception.
IBM’s technology outdoes its competitors, however, by preserving the native format of XML data. Five years in development, DB2’s brand-new storage engine, dubbed pureXML, has one foot planted squarely in the world of relational databases and the other in that of XML databases. Instead of storing the XML as a BLOB (binary large object) or parsing it into relational key/value pairs, pureXML stores the XML file itself, with all its properties and hierarchical structure preserved.
IBM is characterizing this revamped DB2 as something entirely new, a “hybrid data server” that could change the face of data storage as we know it. The exact implementation details are tightly under wraps. It’s up to you whether you prefer to think of DB2 with pureXML as a single database engine in two parts or as two separate engines that just work really closely together (see “Inside IBM’s Hybrid Database” graphic below). What is certain is this release does provide some interesting capabilities.
For starters, it gives you the ability to access XML data using SQL queries, just like ordinary relational tables. You can also use XQuery to access relational tables, in addition to XML. You can even use relational SQL to limit the range of data pulled back from XQuery expressions. DB2 allows almost continuous intermixing of the two languages.
The pureXML engine also provides more efficient indexing, because individual XML nodes aren’t stored merely as strings. According to IBM, customers who have already adopted the new engine have reported performance increases of approximately 5 to 7 times over what they were getting from Microsoft or Oracle.
In keeping with this focus on XML, IBM has supplied a number of new developer tools. The new Developer Workbench (which replaces the Development Center) offers a new XQuery builder as well as Visual Studio 2005 add-in enhancements.
Is this trip necessary?
The big question, of course, is How many customers will DB2’s hybrid capabilities entice? Analyst opinions are divided. At this point, I’m not sure even IBM knows what the exact implications of this new technology are, and if it does, it isn’t telling.