Friday, March 12, 2010

She who entangles men


You may remember the problems that we've been having with our persistent cache, memcacheDB. Our initial response was to add a bunch more RAM to the system, which would probably only last us a few weeks, until we could put a better solution in place. Fortunately with EC2 we were able to spin up five new machines with gobs of RAM to fill that temporary role. After that, we dedicated 33% of our development team (i.e. me) to swapping it out for a more scalable and long-term backend.

As of this morning we're now running with our persistent cache backed by Cassandra. The migration was seamless (did you notice?), but the load-impact on our servers is palpable.

In case you are wondering why we chose Cassandra: it is way faster, more scalable, and has a rich and active development community full of extremely smart and helpful people. It's in use or going to be in use by several large companies (Twitter, Facebook, digg, Rackspace). We have the ability to add nodes as load and storage requires, and we have the ability to move non-cache type data into it as appropriate.

We could not have done this in just 10 days without the help of the amazing Cassandra developers and community and EC2, which allowed us to bring up new instances on which to test and ultimately deploy Cassandra.

I cannot thank the extremely intelligent Cassandra developers and community enough for their work and their help!

Photo credit: http://en.wikipedia.org/wiki/File:Solomon_Ajax_and_Cassandra.jpg
discuss this post on reddit