XML and Databases

Ronald Bourret

Consulting, writing, and research in XML and databases

XML Guild

Member

XML Database Products

Copyright 2000-2010 by Ronald Bourret
Last updated on: June 20, 2010

Table of Contents

1.0 Introduction

In this Web page, I have tried to capture the current state of the market for XML database products. These are gathered from Web sites, product reviews, XML webzines, XML resource guides, and email from product users and developers.

1.1 XML and Databases

Although complete description of how to use XML with databases is beyond the scope of this page (see instead "XML and Databases"), a brief review will help you choose what product is right for you.

XML documents fall into two broad categories: data-centric and document-centric. Data-centric documents are those where XML is used as a data transport. They include sales orders, patient records, and scientific data. Their physical structure -- the order of sibling elements, whether data is stored in attributes or PCDATA-only elements, whether entities are used -- is often unimportant. A special case of data-centric documents is dynamic Web pages, such as online catalogs and address lists, which are constructed from known, regular sets of data. Document-centric documents are those in which XML is used for its SGML-like capabilities, such as in user's manuals, static Web pages, and marketing brochures. They are characterized by irregular structure and mixed content and their physical structure is important.

To store and retrieve the data in data-centric documents, what kind of software you need will depend on how well structured your data is. For highly structured data, such as the white pages in a telephone book, you will need an XML-enabled database that is tuned for data storage, such as a relational or object-oriented database, and some sort of data transfer software. This may be built in to the database (in which case the database is said to be XML-enabled) or might be third-party software, such as middleware, data integration software, or a Web application server. If your data is semi-structured, such as the yellow pages in a telephone book or health data, you have two choices. You can try to fit your data into a well-structured database, such as a relational database, or you can store it in a native XML database, which is designed to handle semi-structured data. In addition, wrappers can treat an XML document as a source of relational data.

To store and retrieve document-centric documents, you will need a native XML database or content (document) management system. (Some XML-enabled databases provide native storage as well.) These are designed to store content fragments, such as procedures, chapters, and glossary entries, and may include document metadata, such as author names, revision dates, and document numbers. Content management systems generally have additional functionality, such as editors, version control, and workflow control. Although content management systems often use a native XML database for storage, this is hidden from the user.

1.2 Product Categories

I have divided products into the following categories. Please note that the boundaries between some of these categories are somewhat arbitrary.

  • Middleware: Software you call from your application to transfer data between XML documents and databases. For data-centric applications.

  • IDEs and Editors: Software designed to help you write XML applications or edit XML documents. For data-centric applications.

  • Data Integration Software: Standalone servers designed to transfer data between multiple data sources, including XML and databases. For data-centric applications.

  • XML-Enabled Databases: Databases with extensions for transferring data between XML documents and themselves. Primarily for data-centric applications.

  • Native XML Databases: Databases that store XML in "native" form, generally as some variant of the DOM mapped to an underlying data store. For data- and document-centric applications.

  • Web Application Servers: Software that builds database-driven XML documents for access over the Web. For data-centric applications.

  • Wrappers: Software that treats XML documents as a source of relational data. These products typically query XML documents using SQL. For data-centric applications.

  • Content (Document) Management Systems: Applications built on top of native XML databases and/or the file system for content/document management. Include features such as check-in/check-out, versioning, and editors. For document-centric applications.

  • XML Query Engines: Standalone engines that can query XML documents. For data- and document-centric applications.

  • XML Data Binding: Products that can bind XML documents to objects. Some of these can also store/retrieve objects from the database. For data-centric applications.

Except for content management systems, you will need to write code to integrate these products with your applications, although data integration software and Web application servers generally require more scripting or GUI work, and less code, than the other categories. You will need to configure content management systems, which may be a non-trivial task in itself.

1.3 Terminology

The term template is described in section 5.2.1, "Template-Based Query Languages" of "XML and Databases". The terms table-based mapping and object-relational mapping are described in "Mapping DTDs to Databases".

1.4 Disclaimer

The product summaries in this Web site are not guaranteed to be complete, accurate, or up-to-date. You should use them as a starting point for your own research. Product summaries that have been written by the company are clearly labeled as "From the Web site" or "From the company". I have written all other summaries myself. I have not used any of these products except my own (XML-DBMS).

1.5 Copyrights, Trademarks, etc.

Quotes from Web sites and product descriptions written by companies are copyrighted by those companies. The remainder of this document is copyrighted by Ronald Bourret. Unless you specifically know otherwise, it should be assumed that all product and company names are trademarked by their owners.

2.0 Product Index

2.1 Middleware

Product Developer License DB Type DB=>
XML
XML
=>DB
ADO Microsoft Commercial Relational xx
Aioob XML Database Converter Aioob Software Commercial Relational x--
Alliance XML/400 Patrick Townsend & Associates Commercial Relational xx
Allora HiT Software Commercial Relational xx
Altova MapForce Altova Commercial Relational xx
Artix Data Services Iona Commercial Relational xx
ASP2XML Stonebroom Commercial Relational xx
Attunity Connect Attunity Ltd. Commercial Relational, hierarchical, etc. xx
Castor exolab.org Open Source Relational xx
Connect XML-2-DB Skyhawk Systems Commercial Relational --x
DataDirect XQuery DataDirect Technologies Commercial Relational, XML, EDI, flat files xx
dbsql2xml Stepan RYBAR Open Source Relational x--
DbToXml SoftRUs Commercial Relational xx
DBIx::XML::DataLoader Christopher Berning Open Source Relational --x
DBIx::XMLMessage Andrei Nossov Open Source Relational xx
DBIx::XML_RDB Matt Sergeant Open Source Relational xx
DBIx::XMLServer Martin Bright Open Source Relational x--
DB/XML Transform IBM Commercial Relational xx
DPS X-Link Treehouse Software Commercial Adabas xx
Easysoft XML-ODBC Server Easysoft Commercial Relational x--
EMS Data Import and Export EMS Commercial Relational xx
Extreme Translator Etasoft Commercial Relational xx
Hibernate Red Hat Open Source Relational xx
Hyperjaxb Aleksei Valikov Open Source Relational xx
JaxMe Jochen Wiedmann / Apache Software Foundation Open Source Relational, native XML xx
mysql, mysqldump MySQL Open Source Relational x--
ODBC2XML Intelligent Systems Research Shareware Relational x--
ODBC Socket Server Team FXML Open Source Relational x--
Oracle XML Developer's Kit (XDK) Oracle Free Relational xx
Oracle XML Query Service (XQS) Oracle Commercial Relational, application data, flat files, etc. x--
Osage George Stewart, et al Open Source Relational xx
RefleX Phillipe Poulard Open Source Relational x--
sql2dtd, dtd2sql, xml2sql David Mertz Public domain Relational xx
sql2xml Scott Hathaway Public domain Relational x--
SQL2XML.SQL Rob Verschoor/Sypron B.V. Open Source Relational x--
sqlToXml, xmlToSql Jim Kent Free for non-commercial use Relational xx
SQLXML Microsoft Commercial Relational xx
SXQL Goetz Hatop Shareware Relational xx
X:Forge Bibop Research International Open Source Relational, Native XML x--
xlinkit xlinkit.com Commercial Relational x--
XML Converter RustemSoft Commercial Relational x--
XML-DBMS Ronald Bourret, et al Open Source Relational xx
xmlDig SysOnyx Commercial Relational x--
XML::Generator::DBI Matt Sergeant Open Source Relational x--
XQuare Bridge, XQuare Fusion Odonata Open Source Relational, XML documents xx

2.2 IDEs and Editors

Product Developer License DB Type DB=>
XML
XML
=>DB
Alchemist XML IDE Mentat Technologies Freeware Relational x--
Delphi Borland Commercial Relational xx
<oXygen/> SyncRO Soft Ltd. Commercial Relational x--
Unicenter SQL-Station Computer Associates International Commercial Relational xx
Stylus Studio DataDirect Technologies Commercial Relational, native XML xx
XML Spy Altova Commercial Relational xx

2.3 Data Integration Software

Product Developer License Data Sources
Ab Initio Ab Initio Commercial Relational, mainframe, etc.
Actuate iServer Actuate Commercial Relational, applications (SAP, PeopleSoft, etc.), flat files
ASTERIA WARP Infoteria Commercial Relational, XML databases, Lotus Notes, Salesforce, LDAP, flat files, etc.
BEA AquaLogic Data Services Platform Oracle Commercial Relational, Web services, flat files, etc.
BusinessObjects Data Integrator, BusinessObjects Data Federator Business Objects Commercial Relational, mainframe, applications (Salesforce, Siebel, etc.), flat files, etc.
Centerprise Data Integrator Astera Commercial Relational, Salesforce, flat files, etc.
DataMirror Constellar Hub IBM Commercial Relational, mainframe, applications (SAP, PeopleSoft, etc.), etc.
DataMirror Transformation Server IBM Commercial Relational, flat files
ETI Solution ETI Commercial Relational, mainframe, applications, etc.
FusionWare Integration Server FusionWare Commercial Relational, multivalue, flat files, EDI, HL7, etc.
Genio Hummingbird Commercial Relational, applications, SAP, flat files, etc.
IBM Cognos DecisionStream IBM Commercial Relational, SAP, flat files, etc.
IBM InfoSphere Information Server, IBM InfoSphere DataStage IBM Commercial Relational, applications (SAP, PeopleSoft, SAS, etc.), flat files, etc.
Informatica PowerCenter, Informatica PowerExchange Informatica Commercial Relational, mainframe, applications, flat files, etc.
Ipedo XIP Ipedo Commercial Relational, applications (PeopleSoft, Salesforce.com, SAP, Siebel, etc.), flat files, etc.
iWay DataMigrator iWay Software Commercial Relational, hierarchical, multi-value, applications (SAP, PeopleSoft, etc.), etc.
Microsoft SQL Server 2008 Integration Services Microsoft Commercial Relational, applications, flat files, etc.
Oracle Data Integrator Oracle Commercial Relational, Salesforce, LDAP, etc.
Pervasive Data Integrator Pervasive Software Commercial Relational, mainframe, native XML, applications (Salesforce, Siebel, etc.), flat files, etc.
PolarLake Integration Suite PolarLake Commercial Relational, applications (SAP, PeopleSoft, Siebel, etc.), flat files, etc.
Sybase Data Integration Suite Sybase Commercial Relational, mainframe, flat files, etc.
Visual Net Server CNet Commercial Relational, flat files
XAware XAware Commercial Relational, native XML, mainframe, applications, flat files, etc.

2.4 XML-Enabled Databases

Product Developer License DB Type
Access 2007 Microsoft Commercial Relational
Cache InterSystems Corp. Commercial Post-relational
DB2 IBM Commercial Relational, native XML
eXtremeDB McObject Commercial Object-oriented
FileMaker FileMaker Commercial FileMaker
FoxPro Microsoft Commercial Relational
Informix IBM Commercial Relational
Matisse Matisse Software Commercial Object-oriented
MonetDB/SQL CWI Database Group Open Source Relational
MySQL Sun Microsystems Open Source Relational
Objectivity/DB Objectivity Commercial Object-oriented
OpenInsight Revelation Software Commercial Multi-valued
Oracle Oracle Commercial Relational, native XML
Orient ODBMS Orient Technologies Open Source Object-oriented
PostgreSQL PostgreSQL Global Development Group Open Source Relational
RDM Embedded Raima, Inc. Commercial Network, relational
RDM Server Raima, Inc. Commercial Network, relational
Sentences Lazy Software, Ltd. Free Associative
SQL Server Microsoft Commercial Relational, native XML
Sybase ASE Sybase Commercial Relational
UniData IBM Commercial Nested relational
UniVerse IBM Commercial Nested relational
Versant Object Database Versant Corp. Commercial Object-oriented
ViewDS eB2Bcom Commercial Proprietary (LDAP)

2.5 Native XML Databases

Product Developer License DB Type
4Suite, 4Suite Server FourThought Open Source Object-oriented
BaseX University of Konstanz Open Source Proprietary
Berkeley DB XML Oracle Open Source Key-value
DBDOM K. Ari Krupnikov Open Source Relational
dbXML dbXML Group Open Source Proprietary
Dieselpoint Dieselpoint, Inc. Commercial None (indexes only)
DOMSafeXML Ellipsis Commercial File system(?)
EMC Documentum xDB X-Hive Corporation Commercial Proprietary. Relational through JDBC
eXist Wolfgang Meier Open Source Proprietary
eXtc M/Gateway Developments Ltd. Free Post-relational
Extraway 3D Informatica Commercial Files plus indexes
Infonyte DB Infonyte Commercial Proprietary
Ipedo XML Database Ipedo Commercial Proprietary
Lore Stanford University Research Semi-structured
MarkLogic Server Mark Logic Corp. Commercial Proprietary
M/DB:X M/Gateway Developments Ltd. Free Hierarchical
MonetDB/XQuery CWI Database Group Open Source Proprietary
myXMLDB Mladen Adamovic Open Source MySQL
Natix University of Mannheim Free / non-commercial Proprietary
ozone ozone-db.org Open Source Object-oriented
Qizx XMLMind Commercial Proprietary
Sedna XML DBMS ISP RAS MODIS Free Proprietary
Sekaiju / Yggdrasill Media Fusion Commercial Proprietary
SQL/XML-IMDB QuiLogic Commercial Proprietary (native XML and relational)
Sonic XML Server Sonic Software Commercial Object-oriented (ObjectStore). Relational and other data through Data Junction
Tamino Software AG Commercial Proprietary. Relational through ODBC.
TeraText DBS TeraText Solutions Commercial Proprietary
TEXTML Server IXIASOFT, Inc. Commercial Proprietary
TigerLogic XDMS Raining Data Commercial Pick
Timber University of Michigan Open Source (non-commercial only) Shore, Berkeley DB
TOTAL XML Cincom Commercial Object-relational?
Virtuoso OpenLink Software Commercial Proprietary. Relational through ODBC
XediX TeraSolution AM2 Systems Commercial Proprietary
Xindice Apache Software Foundation Open Source Proprietary
xml.gax.com GAX Technologies Commercial Proprietary
Xpriori XMS Xpriori Commercial Proprietary
XQuantum XML Database Server Cognetic Systems Commercial Proprietary
XStreamDB Native XML Database Bluestream Database Software Corp. Commercial Proprietary
Xyleme Zone Server Xyleme SA Commercial Proprietary

2.6 Web Application Servers

Product Developer License DB Type
AxKit Apache Software Foundation Open Source Relational
Cocoon Apache Software Foundation Open Source Relational
ColdFusion Adobe Commercial Relational
Enhydra enhydra.org Open Source Relational
Lasso LassoSoft Commercial Relational
Pi.gia.ma Power PGM Technology Commercial Relational
WebObjects Apple Computer Commercial Relational
Zope Zope Corporation Open Source Object-oriented, Relational, LDAP

2.7 Wrappers

Product Developer License Read? Write?
Ashpool Rob Rohan Open Source x x
DB2 Information Integrator IBM Commercial x x
SQL Server Microsoft Commercial x --
Sunopsis XML Driver Sunopsis Commercial x x

2.8 Content (Document) Management Systems

Product Developer License DB Type
Amaxus XML Content Management System Box UK Commercial Relational
Arca Document Management System 3Squared Commercial Native XML (TEXTML Server)
Astoria LightSpeed Software Commercial Object-oriented
Cascade Server Hannon Hill Corporation Commercial Relational
CMS Sorman Commercial Object-oriented (POET)
Content@XML XyEnterprise Commercial Relational (Oracle)
Documentum Documentum, Inc. Commercial Relational
Dynabase Red Bridge Interactive Commercial Object-oriented (ObjectStore)
eidonXportal eidon Commercial Relational
engenda Red Bridge Interactive Commercial ObjectStore/Dynabase
entrepid Red Bridge Interactive Commercial Oracle 8i
The Environment Ecosystems Design Commercial Unknown
EXPLOit Document Solutions Commercial Relational
Frontier UserLand Software Commercial Object-oriented
GEMt X.Systems, Inc. Commercial Native XML (Tamino)
GroveMinder Epremis Commercial Unknown
iENGINE LightSpeed Software Commercial Pluggable
Ingeniux Content Management System Ingeniux Corporation Commercial Relational
InsightBuilder Polar Design Commercial Relational
Life*CDM Corena Commercial Relational (Oracle)
Lucid e-Globalizer Lucid'i.t. Commercial Native XML (Lucid XML Data Manager)
One-to-One Content BroadVision Commercial Unknown
Prowler infozone Open Source Object-oriented, relational, etc.
Rhythmyx Content Manager Percussion Software Commercial Relational, Lotus Notes
RSuite CMS Really Strategies Commercial Native XML (MarkLogic Server)
SCHEMA ST4 SCHEMA GmbH Commercial Relational
SiberSafe SiberLogic Commercial Relational
SigmaLink STEP Electronic Publishing Solutions GmbH Commercial Relational
TeamSite Interwoven Commercial Relational, file system
Vasont Vasont Systems Commercial Relational
Vignette Content Suite Vignette Corp. Commercial Unknown
XCMS KwareSoft Inc. Commercial Relational
XDocs Bluestream Database Software Corp. Commercial Native XML (XStreamDB)
X-Hive/Docato X-Hive Corporation Commercial Native XML (X-Hive/DB)

3.0 Related Products

3.1 XML Query Engines

XML query engines are standalone programs that can query XML documents. Currently, these implement a variety of languages: XQL, XPath, XML-QL, Quilt, XQuery, etc. In the future, I expect most to standardize on the W3C query languages: XPath and XQuery.

The line between XML query engines and native XML databases is somewhat blurry, as native XML databases invariably support an XML query language. In general, XML query engines appear to support querying and nothing else, while native XML databases offer more database functionality: their own data store, transaction support, APIs, etc.

I have not had time to track XML query languages and their implementations. For more information about XML query languages, see:

Note that some middleware products and XML-enabled databases support XML query languages as well, although these generally support XML queries over back end data, rather than over XML documents themselves.

3.2 XML Data Binding

XML data binding is the binding of XML documents to objects designed especially for the data in those documents. This allows applications (usually data-centric) to manipulate data that has been serialized as XML in a way that is more natural than using the DOM. For a more complete explanation of XML data binding, as well as a list of products that support XML data binding, see:

4.0 Additional Links

For links to a variety of XML / database resources, including more software and papers about XML and databases, see the XML / Database Links page.

5.0 Comments and Questions

Please send comments and questions to me at rpbourret@rpbourret.com.

5.1 Suggested Products

If there is a product that you would like to see listed on this page, please send me information at the above email address. The only criteria for inclusion is that the product must be designed to let users store generic XML documents in or extract generic XML documents from databases. Products that only use XML internally or that severely restrict the XML that can be used -- such as to a single dialect -- do not qualify.

You are welcome to include a description of the product. This will help get your product listed faster, as I am always behind in researching/writing such descriptions. Your description will be clearly labeled as "From the company:" and I reserve the right to edit it. Any changes I make will be returned to you for technical review/approval.

Here are some guidelines to help you out:

  • Audience. The intended audience is programmers.

  • Technical detail. The purpose of the description is to give a concise technical description of the product: what it does, how it does it, and what features it has.

  • Focus on XML. Focus on the XML aspects of the product, even if these took less time to write than that cool GUI tool. Mention the GUI tool in one sentence or less. ("Other features include ...")

  • User tasks. Be sure to describe what the user must do. Writing code is different from filling in forms, both in terms of flexibility and difficulty.

  • No vaporware. The features you describe must be in a released version of the product, not just in the specification or "under development".

  • No marketing lingo. All marketing lingo will be deleted. Obvious examples of marketing terms are "enterprise-wide solution" and "business critical". Less obvious examples are such unverifiable terms as "fast", "scalable", and "robust".

  • Still not sure what to write? Look at the descriptions of similar products in the list.


Copyright (c) 2010, Ronald Bourret