View a markdown version of this page

GAMESUS01-BP01 ユーザーコンテンツ、サブスクライバー情報、ゲーム内購入に合わせたパターンに適合するストレージテクノロジーを使用する - ゲーム業界レンズ

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

GAMESUS01-BP01 ユーザーコンテンツ、サブスクライバー情報、ゲーム内購入に合わせたパターンに適合するストレージテクノロジーを使用する

データをタイプ、保持の必要性、アクセス頻度で分類する必要があります。これにより、ゲームまたはバックエンドサービスが生成する無数のデータ型に最も最適化されたストレージソリューションを選択できます。急速に変化するデータは、キー値またはインメモリデータベースサービスに保存する必要があります。トランザクションデータはリレーショナルデータベースサービスに保存する必要があります。大きなファイル、ゲームアセット、またはユーザーが生成したコンテンツは、オブジェクトストレージサービスに保存する必要があります。

このベストプラクティスを活用しない場合のリスクレベル:

実装のガイダンス

ゲームは、アクセス頻度、レイテンシー、コストに最適化されたストレージソリューションを必要とするさまざまなデータ型を生成および消費します。保存されたデータは、タグを使用して分類し、削除できるデータや長期保存が必要なデータを区別する必要があります。

以下のサービスは、さまざまな Games ユースケースに適しています。

Amazon Aurora (MySQL および PostgreSQL と互換性あり) は高可用性、低レイテンシー、自動スケーリングを提供するため、プレイヤーアカウントの管理と認証、ゲーム内経済、リーダーボードとプレイヤーランキング、ゲーム状態の永続性、イベントとキャンペーンの管理、マルチリージョンと高可用性のデプロイなど、大量のトランザクションデータを処理するのに最適です。

Amazon DynamoDB は、低レイテンシー、高スループット、シームレスなスケーラビリティで知られるフルマネージド NoSQL データベースです。これにより、リアルタイムのプレイヤーデータ、セッション管理、インベントリ、ゲーム内経済、リアルタイムのマルチプレイヤーゲーム状態、マッチメーキング、イベントログ記録、世界中の視聴者のスケーリングを処理するのに最適です。

Amazon DocumentDB (MongoDB 互換) は、スケーラブルで低レイテンシーのドキュメント指向データベースサービスを提供します。インベントリシステム、プレイヤープロファイルとカスタマイズの 、ゲームワールドと手続き的に生成されたコンテンツ、ソーシャルとプレイヤーのインタラクション、分析と動作の追跡、ゲーム内のメタデータと設定など、柔軟で半構造化されたデータの保存に最適です。

Amazon ElastiCache は Redis または Memcached によるインメモリキャッシュをサポートしており、迅速なデータアクセスと応答時間の短縮を実現します。これは、スムーズなユーザーエクスペリエンスのために速度とパフォーマンスが不可欠なリアルタイムのマルチプレイヤーゲームにとって不可欠です。ElastiCache は、リアルタイムのリーダーボード、セッション管理、ゲームメタデータのキャッシュ、ゲーム内のチャットとメッセージング、マッチメーキング、リアルタイムの分析とテレメトリ、トラフィックの多いイベントのスケーリングにゲームで使用されます。

Amazon Simple Storage Service (S3) を使用して、ゲームアセット、ビデオ、写真、テキストログファイルなどのオブジェクトを保存できます。S3 は、業界をリードするスケーラビリティ、データ可用性、セキュリティ、パフォーマンスを提供するオブジェクトストレージサービスです。

頻繁かつ低頻度のデータアクセスをサポートする複数のストレージクラスと、費用対効果の高いアーカイブストレージを提供している場合。開発中に頻繁にアクセスされるデータの場合、スタジオは低レイテンシーと高スループットのパフォーマンスのためにオブジェクトを S3 Standard に保存する必要があります。ホットからコールド、またはその逆に頻繁に送信されるデータの場合、スタジオは S3 Intelligent-Tiering を調査する必要があります。Intelligent-Tiering は、データのアクセスパターンをモニタリングし、データを最も費用対効果の高いアクセス階層に自動的に移動します。

高スループット、低レイテンシーを必要とし、単一のアベイラビリティーゾーンに住んでいるスタジオでは、S3 Express One Zone を使用します。これにより、データが 1 つの AZ にレプリケートされ、S3  標準と比較してデータアクセス速度が向上します。履歴データのディープアーカイブのニーズに対して、Amazon は Amazon Glacier も提供します。Amazon Glacier ストレージクラスは、データアーカイブ専用であり、クラウド内で高いパフォーマンス、取得の柔軟性、低コストのアーカイブストレージを提供します。

Amazon Elastic Block Store を使用して、ゲームサーバーまたはアセットリポジトリが機能するために必要なゲームサーバーのバイナリ、実行可能ファイル、設定を保存できます。EC2 インスタンスにアタッチされていない未使用のボリュームをスナップショットして削除する必要があります。これにより、不要なサービスやハードウェアの使用を減らしながら発生するストレージ料金が軽減されます。

実装手順

  • ゲームデータをタイプ、保持ニーズ、アクセス頻度で分類し、データをタグ付けして短期ストレージ要件と長期ストレージ要件を区別します。

  • トランザクションデータには Amazon Aurora、リアルタイムプレイヤーデータには DynamoDB、半構造化データには DocumentDB、タイムクリティカルなゲーム情報の低レイテンシーキャッシュには ElastiCache を使用します。

  • ゲームアセット、ログ、ユーザー生成コンテンツを Amazon S3 に保存し、アクセスパターンとアーカイブのニーズに基づいて適切なストレージクラス (Intelligent-Tiering、One Zone、Glacier など) を選択し、通常のスナップショット管理でゲームサーバーのバイナリと設定に EBS を使用します。