9 February 2007

It’s no secret, I’m a fan of LAMP (Linux, Apache, MySQL, PHP) development. Not because it’s the most robust platform, or fastest, or whatever, but because it’s seasoned, reasonably fast, and easy to develop for. I can push projects out the door, and they work, and they don’t break.

I use XML, too, and that has lots of advantages. You can express really complex data relationships with XML, and you don’t have to know a thing about relational databases. But if you want to *do* anything with the XML, you have to rely on tools that don’t come natively with your OS. You have to rely on third-party apps that have to be installed by a sysadmin, that are generally not very well documented or supported, and as I’ve seen happen a lot, they break.

We’ve used a lot of XML tools — Saxon, Tomcat, Sablotron, and more recently, eXist. Every one of them has proven painful to work with on some level — Tomcat was so ponderously slow, and kept eating our machine…still don’t know what was up with that. eXist looks really cool — it’ll slurp in your XML and index it, and then you can query it with XQuery (and/or XPath, I think), just like a common relational database. It seems like the perfect solution when someone hands you 2000 ‘records’ in XML. It seems even more perfect when you try to think about breaking the data in those records out into MySQL. Nesting, 0-or-more loops, it can all get really ugly (and if you have any suggestions for HOW to pull XML records into MySQL without doing everything by hand, please do drop me a line).

But it’s SLOW. Only 2000 records (each one really small, fewer than 100 lines apiece), and it takes a full 7 seconds just to do a simple search? *sigh* Why can’t this be easy?


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: