「Fate/Grand Order」ユーザー爆増の裏側で、エンジニアが挑んだデータベースとの戦い(2/2 ページ)
スマホゲーム「Fate/Grand Order」を支えるインフラエンジニアが、ユーザーが爆発的に増える中で経験した、データベースの負荷対策を振り返る。
そこで、こうしたリスクを改善するべく“大手術”を決断し、データベースの分割方法を「水平分割」に変更。ユーザーのレベルや経験値などでデータベースを分けるのではなく、ユーザーのIDごとにデータを分け、格納するデータベースを分割した。
甲さんらは、今後のユーザーの増加を見越して、データを何分割するかを検討した。分割し過ぎてデータベースが過剰になったり、逆に不足したりすることがないよう、本番同様の環境をクラウド上に構築し、実際のデータをバックアップして負荷試験に使用。試験の結果、20分割が適当と判断した。
新しく20分割したデータベースにデータを移行させる際は、AWSのマイグレーションサービスを利用し、ゲームのサービスを止めずに進めた。その際、本番環境で動いている、移行前のデータベースが影響を受けないように、レプリケーションを作り、そこから新しいデータベースに移行するように工夫した。
ただ、AWSのサービスでは、移行したデータに抜け落ちがないかの確認が難しかったという。「(AWSの)検証機能は、1つのデータベースから1つのデータベースに移行する場合しか使えず、今回のように複数のデータベースに移行するとなると使えなかった」
そこで20分割した新しいデータベースを、マイグレーションサービスを使って再び元のデータベースに戻し、移行前のデータベースと比較。データの抜け落ちがないことを確認したという。
「あらかじめ移行ツールが用意されているので、本来やるべき作業を軽減でき、検証などの作業に時間を割けることが、クラウドサービスのメリットと感じた」(甲さん)
エンジニアの増員も成功要因
移行作業は、社内のメンバー5人で実施。普段は、FGOに新機能が追加されるとき、データをやりとりするプログラムを改修したり、保存先のデータベースを設計したり――といったサーバ運用・開発をしているエンジニアの中から、移行作業の専属のチームを結成し「万全の体制で臨んだ」。
甲さんは「FGOではほぼ毎月、新規のイベントを実施したり、機能を追加したりして、その実装に人員を割いている。そのため、データベースの課題の解消が後回しになってしまった」と振り返る。社内のエンジニアが十分に増え、そうした課題を解決できる体制が整ったことも、移行が成功した要因という。
こうしてボトルネックを改善したFGOだが、ゲーム内イベントが始まった直後は負荷が重くなるなど「別の部分で問題と感じているところもある」(甲さん)。サービス開始から4周年を迎える7月末に向け、改善を進めているという。
関連記事
- 「君、今日からクラウド担当ね」 未経験者が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.