NoSQL to InnoDB with Memcached
By Calvin Sun on Apr 11, 2011
Note: this article was originally published on http://blogs.innodb.com on April 11, 2011 by Calvin Sun.
MySQL is the most popular open source SQL database. The ever-increasing performance demands of web-based services have generated significant interest in providing NoSQL access methods to MySQL. Today, MySQL is announcing the preview of the NoSQL to InnoDB via memcached. This offering provides users with the best of both worlds – maintain all of the advantages of rich SQL query language, while providing better performance for simple queries via direct access to shared data.
In this preview release, memcached is implemented as a MySQL plugin daemon, accessing InnoDB directly via the native InnoDB API:
Features provided in the current release:
- Memcached as a daemon plugin of mysqld: both mysqld and memcached are running in the same process space, with very low latency access to data
- Direct access to InnoDB: bypassing SQL parser and optimizer
- Support standard protocol (memcapable): support both memcached text-based protocol and binary protocol; all 55 memcapable tests are passed
- Support multiple columns: users can map multiple columns into “value”. The value is separated by a pre-defined “separator” (configurable).
- Optional local caching: three options – “cache-only”, “innodb-only”, and “caching” (both “cache” and “innodb store”). These local options can apply to each of four Memcached operations (set, get, delete and flush).
- Batch operations: user can specify the batch commit size for InnoDB memcached operations via “daemon_memcached_r_batch_size” and “daemon_memcached_w_batch_size” (default 32)
- Support all memcached configure options through MySQL configure variable “daemon_memcached_option”
Sounds interesting? You can download the source or binary from MySQL Labs (only tested on Linux) – select”mysql-5.6-labs-innodb-memcached”. After unpacking the files, please read the readme file “README-innodb_memcached”. Also, please read the upcoming blog “Get started with InnoDB Memcached Daemon plugin” by Jimmy.
This is a technology preview, with some limitations. We will gradually address those limitations. If you’d like to see additional new features or improvements, please let us know.