Sunday, May 22, 2011

Building Scalable Web Applications: The Non-relational Way!

A trend that's emerging since 2009 (see graph) shows that there's been an increasing interest in a new (type of database?) architecture to cater to the "super applications" of the web era of today. Examples cited include the likes of Facebook (500+ million users), Google (Petabytes of data), Amazon (millions of items, reviews, comments), and others.

The question that's been doing the rounds therefore is, how does one design for such scalable, resilient, highly available and efficient applications. Well, one of the factors is being/has been addressed with the advent of cloud computing architectures, and it's no surprise, that Amazon, Google and Facebook have played a pioneering role in that.

But, that apart, research that has been going on has shown that a relational datastore may not be the best option for everyone, and thus, was born the concept of NoSQL, meaning 'Not Only SQL'. Or, in other words, 'not only relational'. NoSQL is an area that gaining increasing attention, especially when dealing with distributed systems architecture, and as the presentation (below) explains, for good measure.

It may not be the end of the RDBMS, but there's definitely one more way to architect the web applications of this age. (See the earlier post: 'Understanding NoSQL Databases' for a more detailed look into NoSQL)

No comments:

Post a Comment