「Fate/Grand Order」ユーザー爆増の裏側で、エンジニアが挑んだデータベースとの戦い(1/2 ページ)
スマホゲーム「Fate/Grand Order」を支えるインフラエンジニアが、ユーザーが爆発的に増える中で経験した、データベースの負荷対策を振り返る。
このほど国内累計1700万ダウンロードを突破した、スマートフォンゲーム「Fate/Grand Order」(FGO)。2015年7月末にサービスを開始し、18年には年間約885億円を売り上げた(ファミ通調べ)ほどの人気ゲームに成長したが、ユーザーが爆発的に増える中、運営元のディライトワークス社内ではインフラエンジニアが戦っていた。
彼らが経験した戦いの1つは、18年7月に実施したデータベースの負荷対策だ。同社の甲英明さん(技術部 マネジャー)は「ゲーム画面上に『ゲームサーバが混雑しています』と頻繁に表示されたり、画面が『Loading』からなかなか切り替わらなかったり、遊びづらい状況が続いていた」と、当時の深刻な状況を振り返る。
「このままでは、ファンがゲームで遊べなくなる」――甲さんらは、そんな状況をどのように改善させたのか。
垂直分割から水平分割へ データベースの“大手術”
FGOは、ゲームブランド「TYPE-MOON」の作品「Fate/stay night」(2004年発売)を基にしたスマホゲーム。主人公は、歴史上の偉人や神話の登場人物といった「英霊」をサーヴァントとして従え、人類滅亡を防ぐため時空を越えて旅をする――というストーリーだ。小説や映画のような、数百万字にも及ぶ重厚なシナリオが特徴で、多くのファンを獲得している。
FGOのゲームインフラは、ローンチ段階からクラウド上に構築。15年末にあるクラウドベンダーのものからAmazon Web Services(AWS)のクラウドに切り替えた。当初から1台のデータベースでユーザーの情報を管理していたが、16年末にメインストーリーの第1部が完結し、盛り上がったタイミングでユーザーが増加。データの肥大化に耐え切れず、複数のデータベースに分割することにした。
その際、甲さんらは、データベースをテーブル単位で分割する「垂直分割」という手法を採用。例えば、ある1人分のユーザーデータでも、レベルや経験値は同じデータベース、所有するアイテムは別のデータベース……というように、データを意味や種類ごとに複数のテーブルに分け、保存するデータベースを分割する方法だ。
「当時は開発に携わるメンバーも少なく、しかも急いで負荷分散を行わなければならなかった。作業の工数が少なくて済むこともあり、垂直分割を選んだ」
まずは4分割した状態で始め、16年10月に5分割、17年8月に6分割、というようにデータベースを増やした。しかしユーザー数の増加に伴い、1つのテーブルに入っているデータが肥大化した結果、データの問い合わせに時間がかかってしまう状態に。17年末〜18年1月ごろは、ゲーム画面上に「ゲームサーバが混雑しています」と頻繁に表示されるほど、負荷が大きい状態が続いていた。
また、1人分のユーザーデータが複数のデータベースに分割して保存されているため、1回のトランザクションで複数のデータベースに問い合わせをしなければならず、あるデータベースは更新されても、別のデータベースは更新されない――というデータの不整合が発生する恐れもあった。
関連記事
- 「君、今日からクラウド担当ね」 未経験者が1人で始めた、ファミマのAWS移行の舞台裏
「AWS Summit Tokyo 2019」のセッションに、ファミリーマートでクラウド移行の責任者を務める土井洋典さんが登壇。土井さんは、前任者が突然退職したため、ある日突然上司からクラウド担当を任された経験を持つ。たった1人でのスタートだったというが、どうやってAWS移行を成功させたのだろうか。 - PayPay“100億円祭”の裏側で何があったのか システム障害と苦闘したエンジニア
PayPayで昨年12月に展開した「100億円あげちゃうキャンペーン」。その間、ユーザー数の増加に伴い、PayPayのシステムは不安定な状態に。押し寄せる膨大なアクセスに、PayPayのエンジニアはどのように対応したのか。 - 「この虫の名は?」すぐ解決 20万匹の害虫画像を学習した、駆除を支える「クラウド×AI」がスゴい
大阪に拠点を置く、害虫駆除機器の専門商社「環境機器」が、害虫の画像を自動で取得し、名前を判定するサービス「Pest Vision」を開発。画像は、Amazon Web Services上に構築したAIを使って分析している。環境機器の担当者に、その仕組みと精度について聞いた。 - 京大、業務系システムをクラウドに全面移行 AWS、G Suiteなど導入の舞台裏
京都大学が業務系システムをAWSに全面移行。グループウェア、教職員用のメールなど情報系システムも、サイボウズの「Garoon」「kintone」、Googleの「G Suite」に切り替えた。
Copyright © ITmedia, Inc. All Rights Reserved.