Twitter responds to Techcrunch about its scaling issues
blog.twitter.com
blog.twitter.com
http://www.techcrunch.com/2008/05/31/hey-twitter-i-have-a-fe...
Finally! Using a database for Twitter was a huge mistake. Anyone who's developing an IM should not use a database as a general message storage. And especially not for a system that's multicasting at such a high rate.
they don't store anything, anyway. They're simply protocols, a network and a login system.
This really makes me wonder if they know what they're doing. MySQL replication really isn't that hard at all. They're hitting performance bottlenecks with only 3 servers and don't appear to be looking into sharding/partitioning to split up writes?
The twitter team deserves a lot of respect for managing to stretch their hardware so far.
OK admittedly they are wardrobe-sized Suns running Oracle, but that's not the point. Yes it takes skill to do a lot with a little, but it takes skill not to paint yourself into a corner too, and you need both skills to succeed.
Daniel
http://www.techcrunch.com/2008/04/29/end-of-speculation-the-...
... and this game of "let's play Twitter engineer from outside Twitter" the entire space is playing is pathetic. Twitter will grow Twitter. Ev has been through this before and will guide the team and the service to stability. For the rest of us there are better things to do than trying to scale Twitter from an armchair.
Startups have to strike a balance between getting the architecture right and getting a product out the door. The bright and lucky ones come up with a minimally correct infrastructure which is approximately equal to what they can hammer out with their existing resources in the least amount of time. Most of the time, teams aren't experienced or lucky enough to pull that off, in which case it makes sense to try to fail early --- this means not spending time on infrastructure. They get the concept out, and see if anyone wants it at all. There's no point in releasing a product which scales to 100 million concurrent users if no one wants it. In its early days, Twitter must have done what it could to get its service up and working, and used MySQL for the same reason you (yes, you!) use it: the team was familiar with it, and was used to either stuffing code with SQL strings or using an ORM.
After the service took off, a lot of things could have happened. Has Arrington bothered to ask Blaine Cook if he had the resources to do The Right Thing? Did Blaine have the time, or did his company tell him to sit in front a glowing screen and do CPR while the CEO goes out to raise cash? A journalist should have at least indicated that he attempted to hear the other side of the story.