People, Scrum, XP, Lean, Complexity, Creativity, Fun

Here follow some key points, a sort incomplete abstract ... so read also the original

Why are many of the leading social networking sites and large banking applications still implemented using traditional database instead of using the new NoSQL systems?

...

Application architecture cannot use "traditional" database technologies such as distributed querying, full ACID transactions, and synchronous processing of requests without running into availability and scalability issues.

...

What are some of the ways to build scalable applications using relational database systems as their underlying data stores?

...Each leaf partition will be using a relational database, providing local consistency and query processing. To guarantee node availability, each node will be mirrored and made highly available. Depending on the service-level guarantee around failover and read versus update frequency, each mirror will be managed either synchronously or asynchronously.

...

Global consistency across the many locally consistent nodes will be provided to the level that the application requires, most often relaxing the atomicity, strong consistency, and/or isolation of the global operation.

...

Using eventual consistency is a more complex application design paradigm than assuming a globally consistent state at all times. The programmer has to determine the acceptable level of inconsistencies.

Additions 3-June-2011:3 key points

1) You still cannot have distributed querying, full ACID transactions, and synchronous processing of requests without running into availability and scalability problems

2) a solution is strongly dependent on specific application needs. your application probably will require a ad-hoc solution more than the same approach that worked for another app

3) the flexibility of NoSql db on changing/evolving the db schema is still not obtained by this kind of solutions described in the article