XML Databases allow data to be stored in XML format. XML databases are often linked to document-oriented databases. The data stored in an XML database can be queried, exported and serialized into any format needed. There are two different types of XML databases:
- XML-enabled: these databases can map XML to e.g. a relational database, accept XML input or render XML as output.
- Native XML: it uses XML documents as the fundamental unit of storage.
Exist-db is an open source native XML database. It supports many web 2.0 technology standards and it is therefore a suitable platform for web-based applications. It has an HTTP interface and features index-based XQuery processing. It requires Java to operate.
BaseX is a scalable XML database that is light-weight and offers high-performance. It uses a Graphical User Interface for the front end to give users insight into the stored XML documents. It supports very large XML documents and a real-time XQuery editor.
Qizx is an XQuery processor that has been open source since 2003. Is does not have a persistent storage and XML documents have to be analysed in memory before they can be used. It offers average sized XML documents a fast query. Another aspect of Qizx is that it is also an XML database that offers storage and indexing capabilities.
Sedna is a native XML database that offers a complete range of principal datastore services. It offers full-text search and persistent storage as well as flexible XML processing facilities. It is licensed under the Apache License and has external XQuery functionalities implemented in C.
Apache Xindice is a retired database that was designed from the ground up to store XML data. With Xindice data can be inserted and retrieved as XML. It works well with very complex XML structures that normally require a more structured database.
Liquibase is an open source database-independent library for tracking, managing and applying database changes. It has over 30 built-in database refactorings and users can make custom changes.