I have a big XML file (>100MB) that contains a great deal of knowledge. My application uses that knowledge and makes it available to the user. The fact that the data is contained in an XML file is completely transparent to the user. What I would like to have is some kind of XML native database (as a component, for instance) that I could embed in my
Java application. I would like to store the big XML file in that database so that queries could be performed very quickly. I have tried various RDBMS ans OODBMS solutions but the results were not very satisfying.
I really want to go with a native XML database for storing my XML file because I have good reasons to believe that such a database provides the fastest access to elements contained in an XML file and the lowest memory footprint for the application. Simply doing XPath queries on the XML file will not solve my memory concern.
I've had some interactions with Software AG whose Tamino XML Server is a great native XML database, but there is no way to embed it in a standalone application.
I have tried Ozone, eXist and Xindice but they are too slow. I'm also trying Berkeley DB XML but when a query is supposed to return a list of elements, it simply returns one XmlValue of type NODELIST that has to be re-parsed in memory, and thus, defeats the whole point of having a database for lowering the memory footprint.
I've gone through
this list of native XML databases but I can't find the right solution.
Does anyone know a good native XML database solution that could solve my problem? What I need is simply an
embeddable native XML database.
[ December 10, 2003: Message edited by: Valentin Crettaz ]