Questions for XML Database Vendors

July 11, 2008

Are you evaluating XML database vendors? If so, here is a list of questions that can help you when you evaluate vendors. Of course, some questions may not apply to your situation.  For instance, update capabilities may not be necessary in audit and logging systems.  You can weed questions out that do not apply to you.

Performance:

  • Ask about the performance when inserting XML data into the repository. I came across one customer who unfortunately went with a vendor that could not keep up with with their database ingest needs and had to switch to IBM.  XML query performance alone is often not a sufficient measure. In some systems you may have to use heavy indexing for good query performance, but these indexes then lead to significant overhead for insert, update, and delete.  In fact, you should also probably ask about the overhead incurred when working with indexes.
  • Ask about the query performance. Different types of queries have vastly different characteristics, so make sure that the performance proof points they give match your situation. For instance, are the performance proof points using the same kind of data you use, are they at the same granularity as your typical queries, and are they working across a similar data set to yours.
  • Ask if their XML performance proof points are publicly available with sufficient detail about the test data, workload, hardware used, etc to verify their claims.
  • Ask about any restrictions there are on their XML indexes.  Can all data types be indexed?
  • Ask about the scalability limits for the database.
  • Ask for proof points on the reliability of the database.

Schema Support

  • If you work with multiple XML schema, ask about their schema handling capabilities. For instance, do you need it to support multiple schema?  Or do you need it to support different versions of the same schema in the same column?  It is important to clarify these requirements up-front.
  • Schema updates are inevitable.  Ask what is involved when you have new versions of schema.  Is it a seamless experience, or does it require a significant migration effort?
  • In fact, I would recommend validating that the vendor can work with your schema up-front, especially if it is complex.  I have heard of situations where people have had issues with other vendors in this regard.
  • Or perhaps you have schema-less documents. If so, do all of their features support such documents?

Language Support

  • If you plan to use SQL, make sure that their SQL/XML function can meet your needs.
  • Similarly, if you plan to use XQuery, make sure their XQuery implementation can meet your needs.
  • Confirm whether XQuery is embedded in SQL, or whether XQuery can be used standalone and via an API.  This may be important to you.
  • Are XML updates important to you?  If so, ask about their support for update capabilities.  And ask if there are any limitations in their update support.  I understand that certain vendors have limitations in this regard. In particular, you will want to ask if they support the XQuery Update Facility that is being standardized by the W3C.

Miscellaneous

  • Ask if there is a no-charge version of the database for pilot projects.  XML features can look wonderful on paper but may be more difficult to use than you expect.  Limitations in functionality and usability are not obvious from documentation and white papers, but are revealed when start doing hands-on work with your own XML data.
  • If you need your reports and applications to also work with legacy relational data, ask how easy it is to work with XML and legacy relational data.
  • Do you need to work with digital signatures? If so confirm that the digital signatures can be validated against retrieved documents.
  • Ask to what extent they are standards-compliant.
  • If high availability is important, ask if they offer high availability features.

Thanks to Matthias Nicola with his help in compiling this list.  And good luck with your selection process.  Cheers!

About these ads

3 Responses to “Questions for XML Database Vendors”

  1. Brian Says:

    Conor:

    Is there an URL you can provide which contains some of these statistics for the performance of DB2 as it relates to XML performance? Thanks.


  2. Hi Brian: There is an XML database benchmark called TPoX (Transaction Processing over XML). It is based on a real-world industry standard XML schema (FIXML). Unfortunately, other vendors are slow to publish results for their products. You can read what you want into that fact. To try to make the benchmark as unbiased as possible, an open source model was adopted.

    You can see more details at…

    http://tpox.sourceforge.net/

  3. Tim Gilbert Says:

    Great question and answer. Thanks!
    Tim Gilbert,
    Sr. Business Systems Analyst,
    Miami/Ft. Lauderdale


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

Join 52 other followers

%d bloggers like this: