MySQL Scalability

I just read the Flickr architecture PDF by Cal Henderson .
It is not a perfect architecture, but still a profitable experience !

It is a bit old (2004), but I found quite funny what they did with MySQL. They started with one server using InnoDB (for transaction and performance due to row level lock instead of table lock). Then they replicated it horizontaly, meaning that only the master handle the update/insert/delete while the slaves handle the selects ! (Scaling vertically means that the application talks to all the servers : imagine that the app server box is on the left and the DB server boxes are on the right.) Then, they replicated some server but changed the slave’s table type to MyISAM (I didn’t know it was possible) so they can use FULLTEXT index, not supported by the InnoDB type. That’s tricky !

Appart from that, they confirmed some choices, that aren’t still obvious for everyone, like the use of UTF-8 and surprise me with the use of Smarty template, I thought that they would slow down things, but I guess the cache is good. I would like to read more details on how they avoid using sessions, but it is just a Diaporama presentation, so …

Leave a Reply

You must be logged in to post a comment.