Wednesday, June 26, 2013

Tuning replication in distributed datastores

What the heck have you been researching?  

Undoubtedly, this has to be the most common question that any research student is asked while at grad school. And I'm no exception. It has been a mystery to so many of my readers as to what I have been doing over the past few years. Unlike some of my other research projects, I now have something that I am allowed to showcase and let others use it too. Over the last year, I have been tackling problems that are of highest priority.  How fast can Facebook or Twitter be ? Can world of warcraft be more responsive and real-time ? ;)

Jokes aside, the crux of the problem is more pervasive than WoW or Facebook. What we are really asking is - how fast can interactive applications be? Can our web services be that extra second faster than what they are today? And the answer, I believe, lies in the fact that the application can only be as fast as the underlying data is fetched. This problem is exacerbated in geo-replicated databases which have users literally from all over the world and the applications that use these datastores are striving to be as responsive as possible. We (the shenanigans at our university) mulled over this for a while (a good year or so) and the solution was born - D-Tunes.

And the first version of D-Tunes (Datastore Tune), as a web interface is alive here. As a precis, D-Tunes configures the replication in your datastore in the most optimal way for your application, thereby ensuring that the application receives the best possible performance from the datastores.

For the brave, here lies the heart of D-Tunes in all its splendor. As the Spartans would have said, In details, lie the glory!