背景
どんなゲームにとっても、成功は偶然の産物ではありません。『王者栄耀』にはバトルシステム、プレイヤーシステム、銘文など、システムだけでも数十種類あり、ゲームをチャレンジングで楽しく、多様性に満ちたものにするため、多くの工夫が凝らされています。現在、『王者栄耀』のバックエンドデータ量は数百テラバイトに達しており、1ゾーンに100以上のテーブルが存在し、その数は増え続けています。このため『王者栄耀』では、データベースの性能、安定性、スケーリング、コスト、ゲーム独自のシナリオなどに対して、より厳しい要件が課されています。
課題と目標
『王者栄耀』にとって、データベースはあらゆるシステムの情報を運ぶ魂です。このゲームのために生まれたTencent Cloudの自社開発分散型NoSQL Database TcaplusDBは、長年にわたり『王者栄耀』のコアデータ向けのデータベースサービスを提供してきました。
Tencent Cloudソリューション
TcaplusDBは、ほぼ無限の水平スケーリング機能を備えています。shardという分散型技術をベースとしており、2.56PBの単一テーブル容量をサポートし、スループット容量はハードウェアの拡張に伴い線形に増加します。また、高速、低速のリクエスト分離とレコードレベルのロックにより、複雑なリクエストと単純なリクエストの分離に対応し、ロック範囲を縮小して読み取り/書き込みの効率アップを図ることができます。さらにTcaplusDBは、革新的なアルゴリズムをベースとして、1つのプロセスでホットデータとコールドデータを交換することができ、プロセス間のデータ交換における一貫性、可用性、管理の複雑性といった問題を解消しています。
ゲームビジネスの観点から、TcaplusDBはテーブルレベルとレコードレベルのデータライフサイクル管理をサポートしており、期限切れのアクティブデータを効果的にクリーンアップすることができます。また、コールドバックアップデータやバイナリーログデータをもとに、サーバーレベル、テーブルレベル、レコードレベルのロールバックや指定された条件に従ったロールバックをミリ秒単位で実行することも可能です。
一方、ユーザー数の大幅な増加に伴い、『王者栄耀』にとってシステムの安定性や拡張性が常に懸念事項になっていました。
例えば、まずは過負荷保護ですが、TcaplusDBは「ゲームサーバー」の視点でサービスの過負荷を感知し、処理の遅延、キュー長、成功率といった指標でデータベースの負荷能力を総合評価し、高負荷なアプリケーションを保護してクラッシュを防止しています。
これと同時に、TcaplusDBは計画的な拡張と計画外の拡張に対して異なるソリューションを提案し、実情に応じて臨機応変に対応しています。また、アベイラビリティーゾーンの障害の自動切り替えと修復によって、アベイラビリティーゾーンと単一デバイスをまたぐ障害の自動切り替えと修復を技術的にサポートしています。こうすることで、拡張のスピードと効率を確保し、プレイヤーに全く感知されないようになっています。
提携による成果
『王者栄耀』向けデータベースサービス製品として提供されたTencent CloudのTcaplusDBは、1億人を超えるDAUを抱えるゲームに対応した世界初のデータベースとなりました。
Tencent Cloudは今後、『王者栄耀』に代表されるモバイルゲーム市場の新たな段階への移行に伴い、引き続きCDBにリソースを投入し、ゲーム業界の技術製品エコシステムの拡充を図り、総合的サービス能力を絶えず向上させ、モバイルゲーム市場の急速かつハイクオリティな拡大を後押ししていく予定です。