I attended ScaleConf a few weeks back. It was a really great conference - perhaps the best I have ever attended. Kirstenbosch Gardens is a fantastic venue. I took every opportunity between talks and after lunch to walk around the gardens and just absorb the peacefulness of the place. The speakers in general have interesting talks. And it is always interesting to hear from international speakers about the scaling issues they face. And the food - both snacks and lunch at Moyo - was fantastic. Here are a few of themes I took away with me: Scale horizontally, not vertically. Do this by decoupling your service into smaller independent systems and use message queuing (RabbitMQ and friends) to get data to appropriate components. Use NOSQL/memcache/key-value stores where possible since relational DBs don't scale well. And measure everything so you know when stuff is broken. I'd highly recommend attending next year if you get the opportunity.
I've recently been working on getting a CNRI handle (aka persistent identifier) server up and running. We wanted to use MySQL as our database back-end. Since the documentation didn't cover how to do this in sufficient detail so here is what I did. PS: We are using a pretty old version of the handle.net software - v 6.2. Hopefully this configuration still applies to the newer versions. Background By default the handle.net software stores its data in a Java jdb database. In my opinion this is less than ideal since there are no tools to manipulate or even view your data. You can, I guess, write your own java code to do this, but this is a pain. Everybody knows MySQL so we wanted to use it as our back-end. The handle server does support SQL but the document only provides a config example for postgres. (Strangely, it does provide a table layout for MySQL) Google also didn't provide any useful answers. So, in case it is useful to anybody else, here is my configuration