tags:

views:

312

answers:

3

I just heard about http://exist-db.org/ on FLOSS weekly. (http://www.twit.tv/floss97) The technology seems interesting. Does anyone else use it in production applications? What are the strengths and weaknesses of this system?

+2  A: 

We're using it at our company, where we have around 100MB of xmls. It was somewhat unstable in older versions, but the recently released 1.4 version is very stable.

It's quite easy to pick up and use. It has a simple Eclipse plugin, but for serious XQuery development, you'll need to use an IDE, like Oxygen XML Editor.

In the next version, it's also going to supoprt XQuery debugging.

I haven't tried it, but you can also try some of the commercial xml databases like Marklogic, Tamino, IBM DB2's pureXML.

The problem right now is that they all have different apis in Java. Most of them should have support for the standard API XQJ (JSR 225) in a year or so, which'll make it a lot easier to switch between them.

Aakash
Thanks. Good to know.
Michael Rosario
+1  A: 

I just also ran into exist-db recently.

My site stores (as of right now) roughly 500k 1k-sized xml files in a s3 bucket and we generate ~5k more each day. I've been looking at everything from vertica to hbase to terracotta, etc... and so forth to store/query this information. When I realized that my xml was already formatted for a database and it took xpath/xquery queries -- to say the least I was estatic!

One important point I should note is that ALL of my data is WRITE ONCE and READ MANY. I have absolutely no plans to update the xml files once they are in the system. If I do it'd only be to merge documents together rather than change them.

I don't know much about how to scale this but for right now this is a HUGE answer to one of my sites HUGE problems. I love this software!

We currently don't have this in production but that will likely change within the week.

If you have a ton of data in xml that needs to be queried this is an awesome match!

feydr
A: 

We recently started using eXist DB from Scala in our project. Some nice aspects were that we could simply store the XML representations we already had, and that we could also store binary data. Combined with Scala's built-in XML support I think this is a nice DB alternative. I wrote a bit more about our reasons to choose eXist over some alternatives here.

Fabian Steeg