MySQL for the Large Scale Social Games

Data: Relational
Location: C121/122
Presentation: external link
Average rating: ***..
(3.00, 3 ratings)

We at DeNA (the largest social game provider in Japan) handle over 2
billion page views per day with MySQL. We heavily use SSD and tune
Linux. We run non-trivial solutions such as non-stop, automated MySQL
master failover. We also use MySQL not only as traditional RDBMS, but
also an extremely high performance NoSQL. I’d like to introduce our
MySQL solutions to make our social games scale better. The following
topics will be covered.

  • SSD and Linux deployment strategies

Choosing right Hardware components, configuring them properly,
and optimizing Linux settings are very important for MySQL and other
database server deployments. But they are frequently overlooked. I
have seen many cases that H/W and Linux settings were wrongly
configured on production environemnts. Changing configurations after
going live is not easy. Some Linux settings such as I/O scheduler can
be changed dynamically, but many of the settings can not be changed
without stopping MySQL. It is important for infrastructure engineers
to understand Linux and H/W tuning and monitoring best practices. I’d
like to cover SSD and Linux deployment practices what we have learned
at running large social games.

  • Introducing Automating master failover tool

Like many other web services, DeNA uses MySQL replications
(single master and multiple slaves), not using Heartbeat+DRBD because
we want to utilize all database servers. But we also want to automate
master failover with small enough downtime, without introducing
consistency problems. This is an important requirement for social game
providers like us who need to run large web services for both paying
and non-paying customers. But automating master failover is not
trivial. Even though you identify the latest slave, other slaves might
have not received all relay logs, which will cause consistency
problems. How do you make them in sync? I’ll talk about how we
established automated MySQL master failover solutions and introduce
our automated failover tools.

Photo of Yoshinori Matsunobu

Yoshinori Matsunobu


Yoshinori Matsunobu is a database and infrastructure architect at DeNA (, living in Tokyo. Yoshinori’s primary responsibility at DeNA is to make our database infrastructure more reliable, faster and more scalable. Before joining DeNA, Yoshinori worked at MySQL/Sun/Oracle as a lead consultant in APAC for four years. Yoshinori has written eight MySQL related technical books so far and has published technical articles about MySQL, Linux, and Java for a monthly database magazine since 2004.