Do you want to get the performance of a NoSQL database, but need to use MySQL (or the MySQL fork Percona Server)? DeNA developer Akira Higuchis’s HandlerSocket plugin adds NoSQL functionality to MySQL for handling tasks such as primary key lookups without caching. HandlerSocket runs as a daemon within MySQL mysqld process to simple CRUD operations on tables. It’s available for Linux-based installations of MySQL and is now included in Percona Server 5.1.52-12.3.
According to a blog post by DeNA developer (and former MySQL/Oracle employe) Yoshinori Matsunobu, HandlerSocket has the following advantages:
- Supporting lots of query patterns
- Can handle lots of concurrent connections
- Extremely high performance
- No duplicate cache
- No data inconsistency
- Crash-safe
- SQL can be used from mysql clients
- All operational benefits from MySQL
- No need to modify/rebuild MySQL
- Independent from storage engines
Matsunobu also notes the following disadvantages:
- Need to learn HandlerSocket APIs
- No security features
- No benefit for HDD bound workloads
This seems like it could be a real game-changer in the database space as IT and developers wrestle with how to implement not-just-SQL solutions to various problems.