The Natix XML Repository History

Several years ago, when XML first came around, as database researchers we did our job: Thinking about how to support a data model such as the one used by XML with a database management system (DBMS). We quickly found out that none of the existing DBMS could adequatly be customized to support XML, despite all claims of their vendors.

The XML repository wish list

A DBMS worthy of the term XML "database management system" would need to support compact storage of structure and content of XML documents, index structures for content and structure retrieval, validation, recovery, isolation of multiple users that work on the same document(s), query evaluation, a rich set of application programming interfaces (APIs) for languages like C++, Java, and support for legacy applications. The system would need to scale in many dimensions, like number of documents, size of documents, query throughput. The system would have to be modular, so you don't have to pay performance penalties for features you doesn't use. It would have to be easy to install and maintain. It would have to run on all the typical server platforms. Needless to say, it would have to be faster than the mixture of tools with which those functionality currently was approximated.

XML is not just any database application

We found out that some of the above can be achieved by some of the traditional DBMS, but only at cost in performance and convenience, because XML support, and thus optimization for XML, would be limited to one part of the DBMS, the "XML module". To achieve all the requirements above with best possible performance, the system would, in all its components, really have to understand XML. It would have to be what we call native.

Natix was born

So, we started to develop our own native prototype XML database management system, called Natix.

After forming a team, during our work in data management consulting we learned that the expectations put in XML are rapidly coming to life. Many organizations are developing applications that need to manage large amounts of XML data, and require data management software with the functionality of a true database management system (DBMS), but the developers still do not find appropriate database software for XML. On the other hand, Natix seemed an ideal foundation for the job, because it already contained designs to address all requirements listed above.

data ex machina is now polishing Natix to provide full DBMS services to XML developers. Even if you think you do not need it today, you will hear about it. Soon.