Releasing Flashcache

By Paul Saab on Tuesday, April 27, 2010 at 12:19pm

At the most recent MySQL conference many people asked us how we are and planning to scale MySQL. One of the ways we're planning on providing better quality of service to our users is the deployment of our caching module for Linux, Flashcache. Flashcache is a simple write back persistent block cache designed to accelerate reads and writes from slower rotational media by caching data in SSD's.

We built Flashcache to help us scale InnoDB/MySQL, but it was designed as a generic caching module that can be used with any application built on top of any block device. For InnoDB, when the working set does not fit in the InnoDB buffer pool, read latency is significantly improved due to caching more of the working set in faster media, such as SSD's. We also improve write performance by first caching writes in SSD's and lazily flushing the data back to disk.

We hope to share more information about our Flashcache deployment in the future, but the interest was so high in this piece of technology, we decided to release it now.

You can find Flashcache hosted on GitHub at:
http://www.github.com/facebook/flashcache

-Paul, who's so excited about this, he's publishing it from 30,000 feet