I'm considering optimal open source solution for storing xml documents with further querying on them effectively. Amount of data will be small. As far as I understand native xml databases might form a proper solution for my case. They obviously store xml documents in highly efficient way. It would be great to learn your experience. Any suggestions on proper solution? Have you got any experience employing xml storage engines in your apps?
We've benn working with native XML servers at our work. They're fine if your data is below like some 100-200MB-s, but after that I couldn't find a proper server that could handle the data. I've tried the following:
Here are my suggestions:
For large databases (1GB and up) I wouldn't recommend any of them (yet). eXist usually crashed with a 200MB sized database. sedna crashed with an 1GB sized database when querying something that's not indexed, and tamino couldn't even load 500MB's of data in one run before crashing the whole system. Of course all of these systems are evolving, so maybe a bit later they'll be safe to use, but native XML databases are still unfortunately immature.
Have you looked into major vendor supplied solutions such as Oracle XML DB. I've not tried it but it would certainly be worth evaluating providing you have a budget for such things!
Also Wikipedia have a nice list of XML Dbs, which you might wish to evaluate.