Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Optimal xml storage engine [closed]

Tags:

xml

storage

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?

like image 336
nixau Avatar asked Feb 16 '26 05:02

nixau


1 Answers

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:

  • eXist: Java based native XML server (open source): with large files it usually eats the JVM's memory and then throws an out of memory exception
  • sedna: C based native XML server (open source): Can handle databases real large, but segfaults if you try to query a non-indexed data from the database
  • Tamino XML database (proprietary): One of the first XML databases, mature but has crappy xquery support (at least the almost latest version we're using has very bad suport for XQuery), and as we've seen even a trained professional couldn't set it up properly to be fast enough.

Here are my suggestions:

  • For small data and for Java based systems try eXist. It even has an SQlite-like file based database support that might be useful.
  • For small to medium data, where performance matters use sedna. According to my test it's the fastest from the three.
  • If you need support then use Tamino. It has at least support.

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.

like image 184
SztupY Avatar answered Feb 19 '26 05:02

SztupY



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!