On the conference
All Your Base was a really well organised and friendly conference, both in the lead up and on the actual day. The food and coffee was decent throughout and the ready supply of bottled water appreciated. I liked the fact it was a "small" conference with a single track and that each slot was just 30mins. I had hoped that would mean the speakers would jump straight into the meat of their talk and skip the info we can all read in a FAQ or getting started guide to any of the databases under discussion. Unfortunately that wasn't always the case, which made for a number of less than inspiring talks. By far and away the most interesting talks were those about something that had been done with the database, rather than explicitly about the database. After all, everyone there had chosen to attend a database conference, so I think it was fair to assume we were all familiar with nearly every database on show.
That said, I appreciate the huge effort that the organisers clearly put into the day which they obviously cared about, and for that, they're to be congratulated.
Who uses what?
I always find it interesting to know who uses what technology and why. Some of the most interesting talks were on how startups had evolved their data solution, be it by moving from one database to the next, or by evolving their implementation on the same technology.
- Hailo - Cassandra
- LHC [at least one experiment] - CounchDB
- Lanyard - PostgreSQL
- GoSqaured - Cassandra & Redis
- Diaspora - MySQL
- Box - MySQL
Hailo started out on MySQL, PHP and Java, before deciding to move to Cassandra (originally developed at Facebook) for greater flexibility; they clear $100m every year and take a taxi booking, on average, every 4 seconds. Interestingly, they've also chosen to use some Go and ElasticSearch on the backend. GoSquared had a similar story of starting out on the LAMP stack before being forced to find a solution as they were hit by success and their backend struggled with the write levels required. They first tried moving to MongoDB, before too opting for Cassandra (with Redis).
On the flipside Diaspora, an open-source, distributed social network started out building their solution in Ruby and backed by MongoDB. When they discovered that the very essence of their data was a better fit for a relational database, they moved to MySQL. Personally I would've suggested their data was a better fit for a graph database, but the speaker seemed to dismiss this, stating they were still too "experimental". This, despite the fact Neo4j (for example) has been around for 2 years longer than MongoDB, is used by all these people, and a social network is the archetypal application for a graph database. But I digress...
Finally, Box showed the greatest staying power (most un-startup like!), being as they started out on MySQL and decided to stick with it, despite the lack of natural horizontal scaling support. They ended up implementing their own sharding solution, allowing them to scale as their customer base rapidly grew.
I thought it was a shame that there was no "real world" talk on Riak. Basho, being one of the main sponsors, gave a talk about Riak, giving us some useful insight (don't use Riak unless you need at least 5 nodes!), but I know there are some really intensive implementations based on Riak out there, and that would've helped bring things to life a little more. That said, I'm looking forward to reading A Little Riak Book that I picked up and finding an opportunity to put that knowledge to use.
The best line
The best line of the conference goes to Tim Moreton of Acunu who provide real-time analytics for Cassandra databases. "No one applies for a job with 10 years of Cassandra experience on their CV/resume". I may have paraphrased that slightly, but I just love that thought. That's why we stopped asking for specific language experience when hiring people at Red Badger, and instead ask for a "strong background in a mainstream language". Most ideas and concepts aren't new; it's how we apply them that evolves. A point that was also nicely reflected in the first talk of the day, where Neha Narula (formally of Google, now at MIT) pointed out that Materialized Views, which have just been implemented in Postgres 9.3, were first theorised in a white paper from 1986.