Amazon DynamoDB グローバルテーブル
Amazon DynamoDB グローバルテーブルを使用すべき理由
Amazon DynamoDB グローバルテーブルは、フルマネージド型、サーバーレス、マルチリージョン、マルチアクティブデータベースです。グローバルテーブルにより、99.999% の可用性、アプリケーションの耐障害性の向上、およびビジネス継続性の向上を実現できます。グローバルテーブルは選択した AWS リージョンにわたって Amazon DynamoDB テーブルを自動的にレプリケートするので、ローカルで高速な読み取りと書き込みのパフォーマンスを実現できます。
アプリケーションの処理が 1 つのリージョンで中断されても、データベースのフェイルオーバーは不要です。グローバルテーブルのマルチアクティブアーキテクチャにより、お客様はどのレプリカテーブルでも読み取りと書き込みを行えるからです。また、グローバルテーブルを使用すると、リージョン間でデータをレプリケートしたり、マルチリージョンワークロードの更新コンフリクトを解決したりするという難しい作業もなくなります。
マルチリージョンワークロードでは、強力な整合性 (新機能、プレビュー中) と結果整合性のどちらかを選択できるようになりました。強力な整合性により、目標復旧ポイントをゼロ (ゼロ RPO とも) でアプリケーションを構築できます。また、アプリケーションが常に最新のデータを読み込んでいることも保証します。
グローバルテーブルは、単一リージョンのテーブルと同じ DynamoDB API を使用するため、簡単に始められます。グローバルテーブルの使用には初期費用や契約は不要で、使用したリソースに対してのみお支払いいただきます。AWS マネジメントコンソールにおいて、AWS コマンドラインインターフェイス (AWS CLI) または AWS CloudFormation を使用してグローバルテーブルを設定できます。詳細については、Amazon DynamoDB デベロッパーガイドを参照してください。グローバルテーブルの料金については、オンデマンドとプロビジョンドの Amazon DynamoDB の料金オプションをご覧ください。
仕組み
DynamoDB グローバルテーブルは複数のレプリカテーブルで構成されています。各レプリカテーブルは異なるリージョンに存在しますが、すべてのレプリカの名前とプライマリキーは同じです。データがいずれかのレプリカテーブルに書き込まれると、DynamoDB はそのデータをグローバルテーブル内の他のすべてのレプリカテーブルに自動的にレプリケートします。
たとえば、アプリケーションが、米国の東海岸、カナダ、欧州西部の 3 つの地域にまたがる大規模な顧客ベースにサービスを提供しているとします。グローバルテーブルがなければ、各 AWS リージョンにテーブルを作成し、各リージョンの各テーブルにデータ変更をレプリケートするコードを記述する必要があります。
グローバルテーブルを使用すると、各地理的領域に最も近い 3 つのリージョンにレプリカテーブルを含むグローバルテーブルを作成できます。DynamoDB は、任意のレプリカの変更を他のリージョンのレプリカに自動的にレプリケートします。
グローバルテーブルを使用すると、アプリケーションのユーザーは、どこにいてもデータに低レイテンシーでデータにアクセスできます。あるリージョンでアプリケーション処理が中断されても、顧客はその他のリージョンのレプリカテーブルに引き続きアクセスできます。
Amazon DynamoDB グローバルテーブルの利点
-
Zoom
-
Disney
Disney+ は、Amazon DynamoDB を使用して、コンテンツ、メタデータ、および数十億の顧客アクションを毎日取り込みます。これにより、視聴者はコンテンツをウォッチリストに追加し、動画の視聴を開始して別のデバイスでピックアップしたり、次に何を視聴するかについてのレコメンデーションを取得したりできます。
-
Snap Inc.
Snap Inc. は、Amazon DynamoDB を利用することで、年間のインフラストラクチャコストを大幅に削減し、マルチメディアメッセージングアプリケーションである Snapchat のために、高速で信頼性の高いインフラストラクチャを実現しました。