Spin up a Serverless database with 25GiB free resources.
Capcom is a video game development company with a string of global hits. Among them, Monster Hunter has sold 84 million copies worldwide (as of July 2022), and the Resident Evil survival horror series has been popular for over 25 years.
But the Capcom infrastructure team that manages the company’s games faced challenges: how to respond to the globalization of gaming, and the trend toward delivering games online. The team decided to take full advantage of public cloud services and build the core components of their new online game on Google Cloud Platform (GCP). A key component of this effort is finding the right database.
The Challenge: Providing an Uncompromised Gaming Experience
Online gamers want reliable, high-performance play no matter where they are. Online games must respond to dynamic changes in concurrent connections. This means that servers must be close to the countries they interact with, and the database must scale elastically as the data volume changes.
Due to unexpected increases in their user base and constant additions of new game scenarios, items, campaigns, and new ways to play, their original databases were forced to scale beyond initial expectations. The infrastructure team needed a database that can respond to highly variable workloads and be optimized for the GCP environment.
The infrastructure team also needed a fully-managed database. They wanted dedicated database engineers to handle tasks like database fault handling and performance tuning. This would allow the infrastructure team to focus on their main jobs.
The Problem: Finding the Right Database
The team considered several databases, including those that run on Infrastructure as a Service (IaaS) platforms other than GCP. However, none met their RDBMS requirements and their need for flexible performance scaling.
First Impressions of TiDB
TiDB has both a MySQL-compatible interface and a distributed SQL architecture that allows flexible scaling. It consists of three layers: the TiDB layer that interprets SQL, the TiKV layer that stores data, and the Placement Driver (PD) that coordinates the clusters. Each layer can be scaled in and out according to demand.
Ryohei Morita, a member of the infrastructure team, explained the team’s first encounter with TiDB Cloud:
I knew that Cloud Native Computing Foundation (CNCF) was hosting TiKV. After receiving the proposal for TiDB Cloud, we immediately started validating the open-source version in our internal environment. It was apparent that a managed service built upon TiKV had real potential to reduce our operational workload. We quickly decided to give it serious consideration.
The Solution: Selecting TiDB Cloud
Before adoption, the team validated TiDB Cloud in the following key areas:
- MySQL compatibility
- Operability and learning cost
- Performance
- Fault tolerance
MySQL Compatibility
Since TiDB is MySQL compatible, it was easy to adopt. That means there were no differences in the schema structure or SQL. They could easily create test applications on TiDB Cloud.
Operability
To test TiDB Cloud’s operability, the team simulated migrating data from a competing managed database service. They validated the usability of the management console by monitoring resources and complex queries on the dashboard. The migration to TiDB Cloud went smoothly without any issues.
“The control console and the dashboard were so simple and easy to use that you could just open them and perform tasks intuitively without reading the documentation. The management service was so simple to use, and the team could get started without any additional training or learning costs.
Performance and Scalability
The team tested TiDB Cloud performance with a workload of 1,000 requests per second. TiDB Cloud cleared all of the database selection criteria for Capcom’s new game without any issues. The team also confirmed that scaling TiDB’s performance during operation didn’t impact the quality of gameplay. The test proved that you could scale out TiDB Cloud as needed with a single click.
Fault Tolerance
The TiDB Cloud Site Reliability Engineering team helped Capcom with fault tolerance testing. The test suspended one of the three TiKV instances to simulate degraded performance. Then, the team ran benchmarks to test the automatic recovery function. As Morita explained, “With queries per second (QPS) temporarily dropped by a third, the service gradually recovered. The connection was maintained during the recovery process, and there were no errors on the game application side.”
A Responsive Team
In addition to the above advantages, Capcom adopted TiDB Cloud for PingCAP’s responsiveness. The PingCAP team took feedback from Capcom to heart.
I am very satisfied with how fast PingCAP’s engineers have responded to inquiries, despite being a global team. During the validation testing, I pointed out that the lack of instance types hindered TiDB Cloud’s flexibility. The team at PingCAP immediately added new instance types to the lineup. This sort of turnaround time would be unthinkable with other services.
As a result of this evaluation process, the team adopted TiDB Cloud for many of its advantages, including its stability on GCP and its ability to prevent vendor lock-in. Combining multiple development environments of the new game into a single cluster has saved money.
The Results: Expectations for the Future
After the team finished validation testing, they learned that the game’s requirements had increased, and the anticipated database access would increase significantly. Morita and his team plan to conduct larger-scale tests in the future, and they firmly believe that TiDB Cloud will meet all of the performance expectations in these tests as well.