Tuesday, March 18, 2008

Will relational DBMS eventually die?

Over two decades, relational database management systems (RDBMS) were overwhelmingly successful for the storing and retrieving of information. On the other hand, thousands of documents are being generated now-a-days in XML format. It has established itself as the de-facto standard for information exchange, especially, over the Internet. For the efficient storage and retrieval of this data type, a new sort of storage management is required which is often termed as XML database management system (XDBMS).

Most of the commercial database vendors extended their respective databases with XML support. IBM’s DB2 UDB supports native processing of XML with pureXML. Oracle’s 10g release 2 and later versions provides native XML processing with XML DB. Microsoft also supports XML natively in SQL Server 2005 XML. These databases support simultaneous storage and retrieval of XML and relational data (i.e. these DBMSs are called hybrid databases). Traditional relational technologies are being tuned in these databases to work well with XML data.

Companies like Tomino provide XML only storage model. Various efforts are currently running in the research area for the efficient storage, query and retrieval of XML data.

The first effort for some XML support in relation system was shredding method. The XML data were decomposed into atomic values which were then stored as individual column values in a relational table. With the incredible spread of XML documents and emergence of native storage of them, it is considerable to build up a generalized Relational over XML (ROX) system. ROX is an approach opposite to shredding where XML is proposed to be stored natively in a DBMS and an XQuery engine is build on top of it. A SQL-to-XQuery translator translates SQL statements into XQuery, retrieves XML data and finally converts them to relational data.

XQuery Data Model (XDM) can be considered as a superset of relational data model. The data model supports structured, semi-structured and even unstructured data. Therefore, structured relational data can be stored as XML. The success of this approach largely depends on the degree of translation from SQL to XQuery and the data from XML to relational data. Performance would be the next big question. The relational systems have implemented many successful algorithm and techniques for the optimal storage and retrieval of data. The question is whether such a system can achieve the same optimization success like the relational counterpart.

Assume, after some successful research breakthroughs efficient storage and retrieval of XML data and support of SQL query are achieved resulting in an optimized ROX system. If such a system could be built, it might not be necessary to support a RDBMS anymore. Such a system would serve the dual purpose of storing XML data or relational data converted to XML. Both XQuery and SQL could be used to query data, though XQuery would be more efficient.

The result of this would be:

1. XML would be de-facto standard for data modeling
2. SQL would only be supported for backward compatibility.
3. All SQL programmer must learn XQuery to survive.
4. Currently established database vendors would fail to meet the client requirements unless they change their core engine to give the XML higher priority.

The assumption would probably not come true in the near future if ever. No further research is being seen around ROX or in this direction anymore. No enterprise would ever agree to convert their existing relation data store to XML. Besides, enterprise adoption of a technology is mostly guided by the large commercial vendors. No vendor would agree to diminish their current line of products in the coming years.

So RDBMS developers can relax!!!

2 comments:

  1. Well written. We work in one of the large enterprise corporation in US. And as you mentioned, Companies CEO's won't buy ROX idea unless it’s pushed by large vendors, in our case IBM can be the pioneer.

    We have developed application by using open source with ORM technology (Object Relational Mapping) and client rejects it and made to redo things in the veil of no professional support, also they still think they will have much more control to use classic JDBC rather rapping these functionalities with another framework, yet though we have found Spring and Hibernate one of the Great framework to work with.

    I believe things will get quite interesting with ROX. I have worked on ORM/HQL, read about JQuery, now hoping to see XQuery in action. But critics could always point to the potential performance set back. The only frustrating thing for programmers is: corporation often don't wanted to put the recent technologies in action citing .... :).

    ReplyDelete
  2. Enterprise adoption largely depends on backward compatibility with the existing databases. XDBMS is still in infancy and it will certainly take years for the IT world to experience a full-featured native XDBMS systems. Most enterprises are already locked with some large database vendors and they will certainly not change their minds until the database vendors push for that.

    The hybrid support of relational and XML data in the large commercial databases is built on top of the existing relational systems and just adjusted for the XML data. So the vendors must tune theirs systems for the optimal storage, querying, indexing of XML data.

    ReplyDelete