"According to database pioneer Michael Stonebraker, Facebook is operating a huge, complex MySQL implementation equivalent to “a fate worse than death,” and the only way out is “bite the bullet and rewrite everything.”
Not that it’s necessarily Facebook’s fault, though. Stonebraker says the social network’s predicament is all too common among web startups that start small and grow to epic proportions."
Perhaps, just perhaps, the entire concept of a database may be simply to static for the new Web 3.0 age?
Think about how data transactions have changed. Say 10 years ago you might fill out a form or write an email, a task that might take minutes or even up to an hour, and then press sent or submit. This would post data back to a web server and you would be happy to wait for a few seconds.
The old world was dominated by big pieces of data collection, often in large structure data forms, followed by few posts to a data store.
SQL databases for fine for this.
But today the size of write tasks are becoming smaller and smaller. Tweets are 140 characters or less, likes, 1+ or retweets are button presses. As our devices become smaller and more mobile the amounts of data posts are getting smaller and smaller. We are moving more more to an always on Internet dominated by likes, tweets, check-ins, and winks.
What is needed is more agile rapid data models. The traditional overhead heavy SQL database was fine but today we are looking at Social Graphs connecting tens of millions of people many of whom may make dozens of small transactions to the data model. And with mobility comes the cult of real time. People are not ready to wait 10 minutes for their data to propagate all the global servers in a Grid or cluster.