Just whetting your apetite for this interview with Mark Callaghan about MySQL, InnoDB, and his work at Facebook:
Q: How do you make MySQL both “less slow” and “faster” at the same time?
A: I ask questions like, “If I can make it do 10 things per second today, can I make it do 20 things per second tomorrow?” For example, we used to use an algorithm that is very CPU intensive to check database pages. Another person on my team, Ryan Mack, modified it to use hardware support on X86 processors so we could profile the servers in production to see what they were doing in these computing checksums. We then realized that the newest CPUs had a faster way to do that, so we modified the MySQL to use the CRC32 for checksums. The hard part there was upgrading the servers on the fly from using the old check zones to the new checksums without taking the site down.
Exciting and scary.
Original title and link: A Story of MySQL and InnoDB at Facebook Told by Mark Callaghan ( ©myNoSQL)