memcached Meets Flash: New Usage of the Plugable Engine Interface

memcached is a key ingredient in any major Web 2.0 site to offload the database by handling the read-load. Up till now you had to fork memcached if you wanted to use a different backend to store the items (e.g., Tugela cache use BDB). We are currently working on adapting something similar to the MySQL storage engine design, by creating a plugable engine interface in Memcached.

The ideal memcached server is the one with the lowest price per GB of memory. The introduction of Flash memory and SSD in commodity hardware, opens new possibilities. I have been experimenting with a hybrid memcached engine, utilizing RAM and Flash memory. This engine would be ideal where you need fast access time for the frequently most used items (they are stored in RAM), but can accept slightly higher latency for other items (stored in flash).

This talk will cover the following topics:

What the storage interface is

Why we created it

What it may be used for

How this allows us to create a hybrid caching model by utilizing RAM and Flash memory.

People planning to attend this session also want to see:

Trond Norbye

Sun Microsystems

Trond Norbye is a senior engineer at Sun Microsystems, working in the Database Group (DBG). Trond is a developer in the memcached community, and was responsible for integrating memcached in Solaris. Trond participated actively in the documentation and implementation of the binary protocol in the memcached server and libmemcached. He is also one of the authors of the upcoming storage engine interface in memcached.

Trond has previously done kernel development on the High Availability Database (HADB), converting the transaction controller to a multi-threaded architecture.

In his spare time Trond likes to contribute to open-source projects. He has been fixing compile and runtime-problems on Drizzle, Memcached UDF for MySQL, and he is the project lead on the open-source code search engine OpenGrok.