An XML database is a data storage software system that allows data to be stored in XML format. This data can then be queried, exported and serialized into any format necessary. Two major classes of XML database exist:
- XML-enabled: these map all XML to a traditional database, (such as a relational database), accepting XML as input and rendering XML as output. This term implies that the database does the conversion itself, (as opposed to relying on middleware).
- XML Native or 'Native XML Databases' (NXD): the internal model of such databases depends on XML and uses XML documents as the fundamental unit of storage, which are, however, not necessarily stored in the form of text files.
Common examples of XML-enabled databases include MS SQL Server or Oracle.
Examples of XML native systems include EMC xDB (previously x-hive Docato) and Mark Logic Server.
Pros of XML Native Databases
XML native databases tend to perform faster and have less life-time maintenance cost for XML content. Things like XQuery, a standard querying language for XML, make manipulating content from a Native XML Database very fast and flexible.
Cons of XML Native Databases
XML Native Databases, much newer to the market than their relational XML-enabled counterparts, are still not standards in most organisations. Strict IT policies may make adopting one more difficult. XML-native databases require the support of more XML-savvy staff than XML-enabled options.