どーも。shihopowerデス。今回は、Amazon DynamoDBのグローバルテーブルとAmazon Auroraのグローバルデータベースの差分をまとめました。AWS SAAの模擬試験を解いていて、「DBでグローバル系の機能あるな、なんだったっけ、グローバルDBだったっけ?グローバルDBはなんのDBで使えるの?Dynamo?Aurora?」といった感じで、DBのグローバル系の機能を大体でしか覚えられていなかったので、まとめてみました。すると、DBのグローバル系の機能には、Amazon DynamoDBのグローバルテーブルとAmazon Auroraのグローバルデータベースがあることが分かりました。
Amazon DynamoDBのグローバルテーブルとAmazon Auroraのグローバルデータベースは、どちらも複数のリージョンにまたがる広域展開を可能にする機能です。ですが、そのアーキテクチャと制御方式には大きな違いがあります。
【目次】
- 基本アーキテクチャの違いを説明する
- レプリケーション(データ同期)の仕組みを説明する
- 整合性と可用性の特徴を説明する
- スケーラビリティの規模を説明する
- Amazon DynamoDBのグローバルテーブルとAmazon Auroraのグローバルデータベースの差分を表で確認する
1. 基本アーキテクチャの違いを説明する
- DynamoDB グローバルテーブル: 世界中の複数リージョンにエンドポイントを持ち、どのリージョンからでも読み書きが可能なマルチマスター構成をとります。
- Aurora グローバルデータベース: 1つのプライマリリージョン(書き込み・読み取り)と、最大5つまでのセカンダリリージョン(通常は読み取り専用)で構成される構造です。
2. レプリケーション(データ同期)の仕組みを説明する
- DynamoDB グローバルテーブル: リージョン間でデータが自動的に同期されます。料金は通常の読み書きキャパシティに加え、クロスリージョンレプリケーションのデータ転送料金が発生します。
- Aurora グローバルデータベース: データベースのログ転送ではなく、ストレージレベルの専用技術を利用してデータを複製します。これにより、通常1秒以下(最大でも5秒以内)という極めて低いレイテンシーでの同期を実現しています。
3. 整合性と可用性の特徴を説明する
- 整合性: DynamoDBのグローバルテーブルでは、単一リージョンで利用可能なオプションである強い整合性は使用できず、結果整合性に基づいた動作となります。
- 災害復旧 (DR): Auroraグローバルデータベースは災害対策に優れており、リージョン全体の障害が発生した場合でも、セカンダリリージョンをマスターに昇格させることで、1分未満のRTO(目標復旧時間)での復旧が可能です。
4. スケーラビリティの規模を説明する
- DynamoDB: テーブルサイズには実用的な制限がなく、無制限に性能を拡張できる特性を維持したままグローバル展開が可能です。
- Aurora: 各セカンダリリージョン内に最大15個のリードレプリカを配置でき、世界規模での読み取り負荷分散に対応します。
5.Amazon DynamoDBのグローバルテーブルとAmazon Auroraのグローバルデータベースの差分を表で確認する
| 項目 | DynamoDB グローバルテーブル | Aurora グローバルデータベース |
|---|---|---|
| 書き込み方式 | マルチマスター構成をとる(全リージョン可) | シングルマスター構成をとる(1リージョンのみ) |
| 同期技術 | クロスリージョンレプリケーションにより、リージョン間で自動的に同期する | ストレージレベルのレプリケーションにより、1秒以下の低レイテンシーで同期する |
| スケーラビリティの規模 | 無制限に拡張可能である | 最大5つまでのセカンダリリージョンで、各セカンダリリージョン内に最大15個のリードレプリカを配置する |
| 整合性 | 結果整合性のみ(強い整合性は不可) | 非同期(ストレージレベルで高速同期) |
| 復旧性能 | リージョン分散による高可用性を実現する | RTO 1分未満の高精度な災害復旧を行う |
いかがだったでしょうか。本記事がどなたかの参考になれば幸いです。
【参考文献】
柴田真吾, 『これだけでOK!AWS認定ソリューションアーキテクトーアソシエイト試験突破口座』(2026/03/08閲覧)