What would be a good use case to use a native XML database such as Apache Xindice and eXist-db? I have used XML features of SQL Server in the past and they were of great value, but there it is possible to use XML for 5% and traditonal storage for 95% of the application. Which application types would benefit from a 100% XML storage?
closed as too broad by MichaelT, GlenH7, Michael Kohne, Simon, Alex Feinman Jan 6 at 16:01There are either too many possible answers, or good answers would be too long for this format. Please add details to narrow the answer set or to isolate an issue that can be answered in a few paragraphs.If this question can be reworded to fit the rules in the help center, please edit the question. |
|||||||||
|
Given you have a program or program system which produces output in form of XML documents, and the data in those XML documents does not fit well to, for example, a relational data model, then an XML database may be the best tool for storing the documents and make them queryable. This is not a hypothetical use case - our team develops a product where such XML documents are produced. Until now we did not use a database, only folders with collections of XML documents, and an increasing number of tools for batch processing the documents on a per-file basis. But I think the more tools we get, the more it will make sense to switch to a database. |
|||||
|
The only use case that comes to mind is a small blog, but I've seen more than one of those converted to a database when they found out that using XML for storage doesn't scale. XML is often confused with databases by those unfamiliar with it. XML is designed to be a data exchange format, not a storage medium. That said, apache Xindice states the case for an XML database fairly eloquently. They say:
|
||||
|
The application characteristics that make an XML format attractive (vs. RDBMS) for storage are:
By "individual" here I do not mean (only) people, but whatever entity is central to the business logic of the application. E.g. an "individual" might be residential properties in a real estate sales application, or a calendar date in a day-planner application. |
|||||||||
|