Slashdot Mirror


Choosing the Right XML Database?

Saqib Ali asks: "Later this year, I will be starting a project, that will involve storing XML data in a database. I understand why a Relational DB is not a good choice. I also understand why a pure OODB like Objectivity is not a good option either. So I started doing some research into various XML DBs like Apache Xindice, exist-db, Oracle 9i, and others, but I am unable to decide which XML DB to use. What criteria should one use when evaluating whether an XML DB will be a good option for a particular application? I would prefer using an Open Source solution. Initially my application wil involve storing reports in an XML repository, for retrieval via XPath, but the reports will get larger with time. Any suggestions on how to decide which database to use?"

1 of 65 comments (clear)

  1. Re:someone please explain... by angel'o'sphere · · Score: 0, Flamebait

    Why does Tabelizer allways get "Insightfulls" for his ranting?

    XML data is in general not well hold in RDBMSs, Tabelizer. There are exceptions of course as I pointed out in my post above.

    A RDBMS returns on an SQL querry, what? A textual table starting with a header of column names, followed by rows of text.

    That is not XML, is it?

    Further more: to querry a full document, for regeneration XML by the querrying application, you need to make several querries one after the other based on the returned data from earlyer querries.

    That means you need to do application side programming ... iterating over result sets and sending "sub querries" to the DB to get nested elements.

    A XML database manges a set of documents, with differnt DTDs. Often in practice those DTDs allow that documents of different type may contain elemts of the same type. Imagine an element type [address] which might be contained inside of a document of type [delivery] and in a document of type [order].

    I now can post a querry to an XML database asking for all documents containing a specific element of type [address]. And I get back: well formed XML documents. Not a set of data from SQL tables.

    Further, the querry language is XMLish, so you can manipulate the querries, the stored data, the returned data etc. with XSLT.

    If you dont see that this is a difference for the programmer of the application, then please SHUT UP.

    I take it that you are an expert in relational database management (however I saw one post of you, where a true expert disrupped all your point about how to use an RDBMS efficiently and correct ) ... but you have no clue about XML and no clue about OO. So why can't you stay out of discussions where you have no clue about?

    To prove that moderators have no clue either and give you even "Insightfuolls" for nonsense, like your post above?

    angel'o'sphere

    --
    Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.