An interesting updated by the twitter team about the scalability probs they are facing : http://dev.twitter.com/2008/05/twittering-about-architecture.html.
They say that twitter was not exactly architected as a messaging system but for a content management system. But users started using it to a messaging system. Another example of an application used differently from what it was initially designed. Previously there were social networking sites, which were intended initially to help people to connect, but then started being used to convey full blown information.
Anyway back to the topic. The twitter blog does mention some points worth considering. The queries they ran seem to be executing for too long. Ya, I know what they r talking about. The example they cite “consider 1000 persons following a user”, and the user updates her status multiple times. Whew…. Must be quite a challenge for the team at twitter.
So one thing I picked up is “stay away from relational databases for real loads of data. But then what is the solution? Need to look around first thing tomorrow morning.