Wednesday, December 21, 2011


Here’s an interesting concept I hadn’t seen before: “acqui-hire” or “acqhire”.  (yes.. far-fetched indeed)

I saw articles of both Facebook and Twitter acquiring companies not just for the technology, but more for the people.  Read here (Facebook-Gowalla) and here (Twitter-Whisper Systems).

It’s no coincidence that both these companies have chosen to use a commodity data store (MySQL in both cases), and created top notch teams around it to sure performance.  In addition, have a look at Twitter’s Gizzard.  It’s a middleware solution that sits in front of the databases and deals with sharding and balancing.  It’s written in Scala by the Twitter team: this is what you can do with a great team!

Interesting point to note: Data writes through Gizzard should be idempotent AND commutative.  Practically this means that a write can be retried later, without a major impact on consistency (resulting in eventual consistency). The two constraints should be governed during data design.  The team calls them easy to adhere to, if you start off with large scale in mind, and adjust other areas of your code.

1 comment: