月額費用を
数万ドル削減
300 から 30
90%
データベースのライセンス
ダウンタイムが発生しない
概要
1996 年に日本で誕生したポケモンは、世界で最も人気のあるエンターテインメントブランドの 1 つになりました。ポケモントレーディングカードゲームと Pokémon GO のモバイルゲームを通じて、年代を問わず、数百万人もの人々がポケモンキャラクターのトレーニングやバトルを楽しんでいます。
ワシントン州ベルビューでは、The Pokémon Company International (TPCi) のエンジニアが、フル機能のユーザーアカウントを通じてアジア以外のポケモンファンが自分の成果を追跡できるようにしています。ポケモントレーナークラブとして知られるこのソリューションは、「トレーナー」がサインオンしたいときにいつでもシームレスなエクスペリエンスを提供するだけでなく、児童オンラインプライバシー保護法や一般データ保護規則にも準拠する必要があります。
「当社のユーザープロファイルシステムは、主に 2 つのデータセットで成り立っています。ポケモン GO のユーザーとポケモントレーディングカードゲームのユーザーです」と、TPCi の開発マネージャーである Jeff Webb 氏は言います。「異なるプレイタイプのユーザープロファイルは異なるプロセスとメンテナンスを必要としますが、それらはすべてポケモントレーナークラブシステム内にあります。当社が扱っているデータは複雑で大量にあるため、データベースのスケーラビリティと信頼性は、優れたユーザーエクスペリエンスを実現するために非常に重要です」
機会 | データベースのバトル
当初、ポケモントレーナークラブは、サードパーティの NoSQL ドキュメントデータベースによってサポートされていました。これには、3 億人を超えるポケモン GO ユーザーのすべてのユーザープロファイルデータと変更ログが含まれていました。データベースの断片には、ポケモンキャラクターのマスターデータベース、トレーディングカードゲームのオンラインユーザーデータ、対人の「組織的なプレイ」グループのデータが含まれていました。Memcached は、ユーザーセッションデータへの高速アクセスを提供しました。同社は、データベースとメモリキャッシュシステムを Amazon Elastic Compute Cloud (Amazon EC2) でホストし、Elastic Load Balancing でトラフィックを管理し、オブジェクのトストレージに Amazon Simple Storage Service (Amazon S3) を使っていました。「ルックアップが速いため、以前は NoSQL データベースを選択していました」と Webb 氏は述べています。「けれども、必要な速度を実現するには、多くのインデックスを維持し、多くの複雑なノードを管理する必要があることがわかりました。その数は一時 300 を超えていました」
これでは、ノードをスムーズに実行し続けることは困難でした。インデックスまたはデータベースノードが使用できなくなると、レイテンシーが増加しました。Memcached ノードがダウンすると、ユーザーはまったくログインできなくなります。プライマリデータノードで障害が発生した場合、システムがバックアップノードで動作している間、チームはすべてを捨ててノードを再構築する必要がありました。TPCi は、Pokémon GO ユーザーの大規模な流入により悪化した日々の管理問題に長い間悩まされた後、フルマネージドデータベースサービスを利用するためにアマゾン ウェブ サービス (AWS) に移行することを決めました。
「Amazon EC2、Elastic Load Balancing、Amazon S3 のパフォーマンスと信頼性に満足しました」と Webb 氏は振り返ります。「それが、AWS が管理するデータベースサービスを調査することにした理由です」 同社のチームは、セキュリティ、スケール、パフォーマンス、復元力のニーズを満たすソリューションを見つけるために広範なテストを実行して、最終的に PostgreSQL との互換性を持つ Amazon Aurora を選択しました。「認証リクエストが TPCi トラフィックの大部分を占めるため、エンタープライズグレードのセキュリティ機能 (保存時および転送時の暗号化を含む) とマルチリージョン環境での信頼性を評価して、Amazon Aurora PostgreSQL を選択しました。」
同社のチームは、Redis と Memcached の両方を利用して、ユーザーキャッシングを Amazon ElastiCache に移動することも決定しました。Redis は新しいユーザーのタスクをキューに入れるため、契約条件への同意などの認証後のタスクを完了するように求めることができます。Memcached は、新しいユーザーが参加したときに既存のユーザーのセッションが中断されないように、チケットをライブに保つのに役立ちます。チームは、グローバル設定と有効期限 (TTL) データを Amazon DynamoDB に移行しました。これは、1 桁台のミリ秒のパフォーマンスを大規模に提供する key-value データベースです。さらにチームは、ログイン履歴やユーザー変更監査レコードなどのイベントデータを Amazon S3 に移行しました。
Amazon Aurora を使用して、300 ノードが 30 ノードに減少し、データベースライセンスの支払いは不要になりました。当社の毎月のデータベースのコストは数万ドルも削減されました」
Jeff Webb
The Pokémon Company International の開発マネージャー
成果 | コストの削減、容量の増加、ダウンタイムなし
非リレーショナルデータストアが最初に移行し、続いてユーザーデータとデータベースシャードが Amazon Aurora に移行しました。プロジェクトにかかったのはわずか 9 か月です。「最初の数か月は、ユースケースと圧力テストの作成に費やしました」と Webb 氏は言います。「その後、すべてのデータを関係付け、JSON データを分解しました。移行は認証プロセスのダウンタイムなしで完了しました。これは、世界中から毎秒 300 人がポケモントレーナークラブにログインしていることを考えると驚くべきことです」
移行して以来、TPCi はデータベースに費やす時間と費用を大幅に削減しました。「Amazon Aurora を使用して、300 ノードが 30 ノードに減少し、データベースライセンスのための支払いは不要になりました」と Webb 氏は言います。「当社の毎月のデータベースコストは、数万ドルも削減されました。最も重要なのは、移行前の 6 か月間で 168 時間のダウンタイムまたはパフォーマンスの低下があったことです。移行して以来、ゼロになりました」
移行はその他の利点ももたらしました。「Amazon DynamoDB に組み込まれている TTL 設定を使用すると、ユーザーが最大ログイン試行しきい値を超えた際にときを追跡し、エントリを拒否できます」と Webb 氏は言います。「その結果、ボットのログイン試行が 90% 削減されました。これにより、正当なユーザーのためにシステムリソースが解放され、余裕をもってスケーリングしておく必要がなくなりました」
フルマネージド型の Amazon ElastiCache サービスを利用すると、Memcached ノードを管理するオーバーヘッドが大幅に削減されます。クラスターに保存されているユーザーセッションデータとチケット発行状態により、認証プロセスが高速化され、ユーザーが 1 つのサーバーへの接続を維持する必要がなくなります。
データベースの管理時間を短縮することで、イノベーションのための時間を確保できます。同社は、サーバーレスコンピューティング、コンテナ、マイクロサービスを活用して、さらに高い効率とパフォーマンスを実現しようと計画しています。TPCi は、同社のサービスを改善し続けることで、世界中の何百万ものユーザーに、オンデマンドでポケモンの世界を楽しんでもらうことができています。
詳細については、thinkwithwp.com/gametech/databases をご覧ください。
The Pokémon Company International について
使用されている AWS のサービス
Amazon Aurora
Amazon Aurora は、クラウド向けに構築された、MySQL および PostgreSQL と互換性のあるリレーショナルデータベースであり、従来のエンタープライズデータベースのパフォーマンスと可用性に加え、オープンソースデータベースのシンプルさとコスト効率性も兼ね備えています。
Amazon ElastiCache
Amazon ElastiCache を使用すると、クラウド内の人気のオープンソース互換のインメモリデータストアをシームレスにセットアップ、実行、およびスケーリングできます。高スループットかつ低レイテンシーなインメモリデータストアからデータを取得して、大量のデータを扱うアプリケーションを構築したり、既存のアプリケーションのパフォーマンスを改善したりすることが可能です。Amazon ElastiCache は、キャッシング、セッションストア、ゲーム、地理空間サービス、リアルタイム分析、キューイングなどのリアルタイムユースケースに人気のある選択肢です。
Amazon DynamoDB
Amazon DynamoDB は、規模に関係なく数ミリ秒台のパフォーマンスを実現する、key-value およびドキュメントデータベースです。フルマネージド型でマルチリージョン、マルチマスターで耐久性があるデータベースで、セキュリティ、バックアップおよび復元と、インターネット規模のアプリケーション用のメモリ内キャッシュが組み込まれています。
Amazon S3
Amazon Simple Storage Service (Amazon S3) は、業界をリードするスケーラビリティ、データ可用性、セキュリティ、およびパフォーマンスを提供するオブジェクトストレージサービスです。つまり、あらゆる規模や業界のお客様が、ウェブサイト、モバイルアプリケーション、バックアップおよび復元、アーカイブ、エンタープライズアプリケーション、IoT デバイス、ビッグデータ分析など、広範にわたるユースケースのデータを容量に関係なく、保存して保護することができます。
データによる変革の推進を見る
ゲーム業界のお客様のその他の事例
今すぐ始める
あらゆる業界のさまざまな規模の組織が AWS を活用してビジネスを変革し、日々ミッションを遂行しています。当社のエキスパートにお問い合わせいただき、今すぐ AWS ジャーニーを開始しましょう。