Handler-Socket Plugin for MySQL – SQL的功能、NoSQL的性能
记得半年多前写过 MySQL vs NoSQL ,且一直以来我比较坚持用数据库存储K/V数据,因为不只是对数据安全等能提供保障,主要是发现大部分系统的qps根本就没那么高,能上4k的水平已经很少了,这点MySQL完全可以满足,因为优化好的K/V请求,在 MySQL的SQL层上能实现每核心5k左右的qps,而这一数据在 HandlerSocket出来之后,得到了更大的提升。
HandlerSocket plugin for MySQL 已经出来一段时间了, 鉴于HandlerSocket和 InnoDB的健壮、安全性, 可以预见HandlerSocket取代Memcached等 NoSQL存储/ Cache,已经是大势所趋。
HandlerSocket 是 MySQL的一个插件,用于跳过 MySQL的SQL层面,直接访问内部的 InnoDB存储引擎,从而充分发挥 InnoDB的性能优势;此外, InnoDB的ACID特性,可以保障数据的安全。
初步对比了下,HandlerSocket Plugin for MySQL性能跟Memcached差不多,原文中的测试数据显示更胜Memcached一筹,接下来准备跟ndbapi的性能进行对比测试,为系统构架提供参考。
approx qps server CPU util MySQL via SQL 105,000 %us 60% %sy 28% memcached 420,000 %us 8% %sy 88% MySQL via HandlerSocket 750,000 %us 45% %sy 53%
HandlerSocket源码地址: https://github.com/ahiguti/HandlerSocket-Plugin-for-MySQL/
HandlerSocket的客户端:
HandlerSocket Client for Perl