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 は、任意のレプリカの変更を他のリージョンのレプリカに自動的にレプリケートします。
グローバルテーブルを使用すると、アプリケーションのユーザーは、どこにいてもデータに低レイテンシーでデータにアクセスできます。あるリージョンでアプリケーション処理が中断されても、顧客はその他のリージョンのレプリカテーブルに引き続きアクセスできます。
![仕組み](https://d1.awsstatic.com/DynamoDB_Global-Tables-03.73a0216551bf3a8701552ca55ff7fd6d8bc12c84.png)
Amazon DynamoDB グローバルテーブルの利点
-
Zoom
COVID-19 パンデミックが始まったとき、当社の音声および動画サービスには膨大な需要がありました。2020 年初頭には、仮想的な接続を必要とする新規および既存のお客様、1 日のミーティング参加数 1,000 万から 3 億へと、かつてないほど利用が増加しました。バックエンドでは、Zoom Meetings 用の Amazon DynamoDB を使ってこの急増を管理することができました。DynamoDB のグローバルテーブルとオンデマンドモードを併用することで、利用が急増してもパフォーマンスに問題はなく、ほぼ無限にスケールすることができました。
Zoom Video Communications, Inc.、クラウドオペレーション担当エンジニアリングマネージャー、Yasin Mohammed 氏 -
Disney
Disney+ は、Amazon DynamoDB を使用して、コンテンツ、メタデータ、および数十億の顧客アクションを毎日取り込みます。これにより、視聴者はコンテンツをウォッチリストに追加し、動画の視聴を開始して別のデバイスでピックアップしたり、次に何を視聴するかについてのレコメンデーションを取得したりできます。
1 日に数十億件のブックマークが Amazon Kinesis 経由で Amazon DynamoDB に取り込まれます。
Disney+、Director of Content Discovery、Attilio Giue 氏 -
Snap Inc.
Snap Inc. は、Amazon DynamoDB を利用することで、年間のインフラストラクチャコストを大幅に削減し、マルチメディアメッセージングアプリケーションである Snapchat のために、高速で信頼性の高いインフラストラクチャを実現しました。
Amazon DynamoDB が提供する機能と、同サービスにおける継続的なイノベーションは、今後も DynamoDB を利用してイノベーションを続けられるという自信を当社が持てるようにしてくれます。
Snap Inc.、エンジニアリング担当ディレクター兼インフラストラクチャ責任者、Saral Jain 氏