Yoshinori Matsunobu

yoshinorimatsunobu.blogspot.com · Personal blog · on HN since 2010

Yoshinori Matsunobu is a MySQL engineer who writes about InnoDB performance, SSDs, high availability and using MySQL as NoSQL.

What HN saysCommenters cite his HandlerSocket post on 750,000 queries per second and his posts on MySQL performance and the case for bigger small data.
20HN people shared it
10linked it in comments
10stories submitted
522story points
4 years agolast shared
2010people per year2026

Most-shared posts

  1. 1
  2. 2
    Why buffered writes are sometimes stalled
    2 people · 71 points · first shared 2014 · 14 comments on HN
  3. 3
    Making full table scan 10x faster in InnoDB
    1 people · 98 points · first shared 2013 · 20 comments on HN
  4. 4
    A New Take on MySQL Master High Availability
    1 people · 6 points · first shared 2011 · discussion on HN
  5. 5
    Using Mysql as Nosql
    1 people · 1 points · first shared 2013 · discussion on HN
  6. 6
    Another reason to disable MySQL performance schema
    1 people · 1 points · first shared 2013 · discussion on HN
  7. 7
    Using MySQL as NoSQL
    1 people · 1 points · first shared 2012 · discussion on HN
  8. 8
    Tables on ssd redobinlogsystem
    1 people · first shared 2012
  9. 9
    Using mysql as nosql story for
    1 people · first shared 2013
  10. 10
    Using mysql as nosql story for
    1 people · first shared 2022
  11. 11
    Towards bigger small data
    1 people · first shared 2021

What HN people wrote when they linked it

Unfortunately, it's not that easy. Don't forget about the impact of SQL parsing and connection costs. Here is a very illuminating post about it: http://yoshinorimatsunobu.blogspot.com/2010/10/using-mysql-as-nosql-st… The authors created a MySQL plugin that served as a network server and hooked into InnoDB without SQL parsing overhead. It also avoided the cost of opening/closing tables by keeping them open. According to their benchmark, performance went from 100,000 queries per second to 750,000 per second on the same server. Well worth the read.
caseyf · 2012-08-19
Percona Server has lots of improvements (some small things and others that are pretty essential for me) On the SSD front, the main ones are: * You can put the innodb doublewrite buffer on your spinning disks - that's the best place for it since it's heavy sequential writes. See section 2.2.2 here http://yoshinorimatsunobu.blogspot.com/2009/05/tables-on-ssd-redobinlo… * The ability to tune various parts of innodb that were originally designed to perform well on regular disks - those with fast sequential access, slower random access, and no real wear considerations. See http://www.percona.com/doc/percona-server/5.1/scalability/innodb_io.ht… Here's a recent post from Percona showing MySQL vs Percona server on an Intel 320 SSD: http://www.mysqlperformanceblog.com/2012/02/23/percona-server-vs-mysql… -- MariaDB is pretty nice too. Their team has introduced some sorely needed query optimizations (http://kb.askmonty.org/en/what-is-mariadb-53/#subquery-optimizations) and it does include Percona's XtraDB. I haven't looked at MariaDB 5.5 to see how it compares to Percona Server 5.5. I put Percona Server into production last fall and MariaDB was still at 5.3 at the time.
samsquire · 2022-09-01
HandlerSocket is an interesting approach to turn MySQL into a NoSQL database and get 700,000 requests per second on a single node. http://yoshinorimatsunobu.blogspot.com/2010/10/using-mysql-as-nosql-st… When I benchmarked Redis on an Intel hexacore I got 800,000 requests a second on 8 terminal windows. So I assume the MYSQL data fit in RAM.
throwdbaaway · 2021-01-26
One of those companies is facebook right? I think this blog post provides a much more balanced view: http://yoshinorimatsunobu.blogspot.com/2017/11/towards-bigger-small-da…
jamesblonde · 2019-07-09
The OP video describes a FS based on Innodb and MySQL. It gets relatively poor performance (7-9X slower for common FS ops). However, the killer FS ops for a DB are subtree operations - 'rm -rf', 'chown -R', 'chmod -R'. In research in this field, these are the operations that get less limelight but are most important for a working system. I hazard a guess that the above implementation could still be made many times faster (maybe even 10X) by using InnoDB's native API, instead of the much slower MySQL Server SQL API. Here's an example of what you can achieve by going native - 1m ops/sec on InnoDB 8 years ago. This is the main guy (sorry Mark!) behind RocksDB implementation: http://yoshinorimatsunobu.blogspot.com/2010/10/using-mysql-as-nosql-st…
morgo · 2013-11-23
For context, the first NoSQL interface for MySQL was: http://yoshinorimatsunobu.blogspot.ca/2010/10/using-mysql-as-nosql-sto… (It's appeared on HN a few times). The MySQL team decided to run with a more standard memcached interface, and MySQL actually embeds memcached to do this (with MySQL as backend storage). Despite being read-only, the over 1M number highlights a lot work thats been done for multi-core scalability. This test was on a 48 score machine.. that was a distant dream a few years ago on MySQL 5.1.
mikeytown2 · 2011-12-12
Those benchmarks are very flawed as HandlerSocket only works in InnoDB. This is a better post on the subject: http://yoshinorimatsunobu.blogspot.com/2010/10/using-mysql-as-nosql-st…
senko · 2011-09-21
InnoDB provides a schemaless datastore and can be used directly. A couple of results for a quick google search for "innodb nosql": http://yoshinorimatsunobu.blogspot.com/2010/10/using-mysql-as-nosql-st… http://blogs.innodb.com/wp/2011/04/nosql-to-innodb-with-memcached/
teoruiz · 2010-12-20
There was a more detailed discussion about HandlerSocket in another thread: http://news.ycombinator.com/item?id=1886137 Original article: http://yoshinorimatsunobu.blogspot.com/2010/10/using-mysql-as-nosql-st…
thefreshteapot · 2011-04-06
Having now been exposed to both... If you ever want to use it as a caching system ... solr is the way to go. I personally think very highly of Sphinx, yet be aware that Sphinx will return ids not "content". When handlesocket was announced [1], for me the gem other than the obvious was this nugget of information. "No duplicate cache When you use memcached to cache MySQL/InnoDB records, records are cached in both memcached and InnoDB buffer pool. They are duplicate so less efficient (Memory is still expensive!). Since HandlerSocket plugin accesses to InnoDB storage engine, records are cached inside InnoDB buffer pool, which can be reused by other SQL statements." Knowing that with the latest version of sphinx your can make use of their Query format via code or via the mysql console... it has me more sold on Sphinx than solr. We use solr where I work, it is nice to use and coming features will make it better... The most annoying aspect of solr for me is, you cant index elsewhere and easily merge it... Either are miles better than fulltext search. Perhaps list a few of your needs and requirements then we might be able to see if one stands out ahead of the other. [1]http://yoshinorimatsunobu.blogspot.com/2010/10/using-mysql-as-nosql-st…

Keyboard shortcuts

/Search
j kNext / previous blog
EnterOpen selected blog
vVisit the blog site
fFollow / unfollow
lSwitch grid / list view
dSwitch dark mode
g hHome
g pTop posts
g tTopics
g fFollowing
g lLiked
g yHistory
g qFAQ
EscBack / close