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

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: