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