XML is increasingly being positioned as the next territory for the Microsoft/Oracle/IBM database war. However, the companies aren't telling you this, because none of them are very good at the technology yet.
Oracle is expected to roll out a raft of announcements around XML and the way it is being used to improve its database at the forthcoming Oracle OpenWorld conference.
Microsoft won't be far behind when it releases Yukon, the next incarnation of its SQL Server database, expected in 2003, which comes with extra XML spice.
IBM, on the other hand, has already got XML sewn up, thanks to the inclusion of its XML Extender in DB2 and can, quite easily, claim to have the upper hand in this particular race.
When it comes to the crunch, very few relational database vendors can truly claim to offer a revolutionary XML capability. The three big hitters all do reasonably well when it comes to document management, using XML, and content management. Given the increasing use of XML as part of B2B and content management, XML is an important addition. But if it's an extended XML capability that you're after,these three will not hold the key.
The question is should you really buy a database that offers pure XML capabilities over and above everything else?. The simple answer is yes. And in this case none of the above three products really cut the mustard. The real XML Database champions are Software AG and eXcelon.
Software AG markets the Tamino database, which has been specifically designed for storing and managing XML whilst eXcelon's solution is its XML Platform.
This has three major components: Stylus Studio, which is an XML development environment; XIS, which is its XML database; and a B2B component called Business Process Manager.
As far as XIS is concerned, this is not a pure XML database (in the sense that Tamino is). It is, in fact, the ObjectStore database with a software layer incorporated within it to specifically cater for the needs of XML. Any performance differences between this approach and that of Tamino should be marginal, while both products are feature-rich and should out-perform their relational rivals.
The problem that Software AG faces is that pure XML-based applications are few and far between. Most current uses of XML are extensions to existing applications that did not previously have anything to do with XML.
Data, therefore, may be extracted from the database, converted into XML and then sent wherever it needs to go. And the reverse process is used whenever XML messages are received. These translations take time and impair performance. But does this mean that you should throw out your old database and replace it with Tamino? If this was all there was to it, the short answer would probably be no. It is probably easier and possibly cheaper to simply upgrade your hardware to cover for the performance degradation.
This is precisely the argument used against object databases. You get a similar slow-down when you have to convert from the objects that comprise most modern software components into relational tables but that can be more than adequately catered for by hardware upgrades.
However, in the case of XML there is also the question of parsing the XML, which will be a further overhead if this is not stored after parsing. The one environment where any slow-down is to be avoided is real-time applications and this is the area where object databases have been most successful. Real-time XML applications will similarly be environments where Tamino is probably a must-have.
There are, however, further arguments in favour of using an XML database. One is that it is easier to convert between the plethora of XML standards that exist. A second is that XML databases typically support both DTDs and XML schemas, as well as XSL stylesheets and Xpath query capabilities in a more comprehensive fashion that is supported by the mainstream database vendors.
Finally, a further benefit (at least in eXcelon's XIS) when compared to relational databases is that you can add XML data to a document definition without having to change the database schema. The other possible environments in which object and XML databases might reasonably be deployed are for green-field developments, where there is no existing database to exploit. Unfortunately, experience suggests that non-relational databases will be overlooked by most developers, even when they would offer the most appropriate solutions.
Finally, while Tamino has undoubted performance advantages over relational databases, it is worth noting that this may not be the case (or not so much) when compared to object databases, despite any claims by Software AG to the contrary.