ドキュメントデータベース活用 - Amazon DocumentDB と DynamoDB で実現する柔軟なデータモデリング
Amazon DocumentDB と DynamoDB を活用したドキュメントデータベースの設計・運用方法を解説します。
ドキュメントデータベースの基本概念と AWS サービスの選択肢
ドキュメントデータベースは、JSON や BSON 形式の柔軟なデータ構造を格納・検索するために設計された NoSQL データベースです。リレーショナルデータベースのように事前にスキーマを厳密に定義する必要がなく、アプリケーションの進化に合わせてデータ構造を柔軟に変更できます。AWS では Amazon DocumentDB と Amazon DynamoDB の 2 つのサービスがドキュメントデータベースのユースケースに対応します。DocumentDB は MongoDB 互換の API を提供するため、対応するバージョンの範囲内であれば、接続文字列とドライバーの設定を変更するだけで既存の MongoDB アプリケーションを動かせます。ただし互換性は MongoDB 本体の移植ではなく API レベルのもので、一部の演算子や管理コマンドは非対応です。移行前に利用中の機能が対応範囲に含まれるかを確認し、データの移送には AWS Database Migration Service を使うのが実務上の手順になります。一方 DynamoDB はキーバリュー型とドキュメント型の両方をサポートするフルマネージドサービスで、ミリ秒単位の一貫したレイテンシを実現します。オンプレミスで MongoDB クラスターを運用する場合、レプリカセットの構成、シャーディングの設計、バックアップの自動化、セキュリティパッチの適用など多大な運用負荷が発生しますが、AWS のマネージドサービスはこれらをすべて自動化します。
Amazon DocumentDB の特徴
Amazon DocumentDB は MongoDB 互換のマネージドデータベースサービスです。2026 年 8 月時点で新規に選択できるエンジンバージョンは 4.0、5.0、8.0 (標準サポートが終了したバージョンも、そのバージョンのクラスターを既に利用しているアカウントに限り新規作成が可能) で、2025 年 11 月にリリースされた 8.0 は MongoDB 8.0 との互換性を提供します。最初の世代である 3.6 は 2026 年 3 月 30 日に標準サポートが終了しており、以後は有償の Extended Support (重大な CVE へのセキュリティ更新・クリティカルな不具合の修正・サポートケース対応を提供・最長 3 年) の対象となるため、新規構築では 8.0 を選ぶのが基本です。ストレージは使用量に応じて 10 GiB 単位で自動拡張され、上限はエンジンバージョン 8.0 以降が 256 TiB、それより前のバージョンが 128 TiB です。シャーディングでスケールアウトする Elastic Clusters では、クラスターあたり 4 PiB まで拡張できます。データは 6 つのコピーを 3 つのアベイラビリティゾーンにまたがって保持するため、高い耐久性と可用性を実現します。読み取りレプリカを最大 15 台まで追加でき、読み取り負荷の分散が容易です。DocumentDB はコンピュートとストレージが分離した構成で、データは複数のアベイラビリティゾーンに分散して自動拡張するクラスターボリュームに保存されます。書き込みは 6 つのコピーのうち 4 つに確認されると完了するクォーラムベースのレプリケーションを採用しています。グローバルクラスター機能では、1 つのプライマリリージョンに対して最大 10 のセカンダリリージョンを追加でき、災害復旧とグローバルな読み取りパフォーマンスの両方を実現します。ただしセカンダリを 1 つ追加するごとにプライマリクラスターで作成できる読み取りレプリカの上限が 1 台減る (セカンダリ 10 リージョンならプライマリは 5 台) ため、リージョン展開とリージョン内の読み取り拡張はトレードオフの関係にあります。なおグローバルクラスターはエンジンバージョン 3.6 や db.t3、db.t4g などの一部インスタンスクラスでは利用できません。以下は DocumentDB クラスターを作成する CLI コマンドの例です。 aws docdb create-db-cluster \ --db-cluster-identifier my-docdb-cluster \ --engine docdb \ --engine-version 8.0.0 \ --master-username admin \ --master-user-password MySecurePassword123 \ --storage-encrypted
DynamoDB のドキュメントモデルとユースケース
DynamoDB はドキュメント型データの格納にも優れた能力を発揮します。各アイテムは最大 400 KB のネストされた JSON 構造を持つことができ、マップ型やリスト型の属性を自由に組み合わせてドキュメントを表現できます。PartiQL という SQL 互換のクエリ言語を使えば、ネストされたドキュメント内の特定フィールドに対する検索や更新も直感的に記述できます。DynamoDB のオンデマンドキャパシティモードでは、トラフィックに応じて自動的にスケールし、リクエストがない時間帯のコストはほぼゼロになります。ゲームのプレイヤープロファイル、EC サイトの商品カタログ、IoT デバイスのテレメトリデータなど、アクセスパターンが明確でスケーラビリティが求められるユースケースに最適です。DynamoDB Streams と Lambda を組み合わせることで、ドキュメントの変更をリアルタイムに検知し、下流のシステムに伝播させるイベント駆動アーキテクチャも構築できます。グローバルテーブル機能により、複数リージョンでのアクティブ-アクティブ構成も実現可能です。
DocumentDB と DynamoDB の使い分け
DocumentDB と DynamoDB はどちらもドキュメントデータを扱えますが、最適なユースケースは異なります。DocumentDB は複雑なクエリパターンが必要な場合に適しています。アドホックなクエリ、集約パイプライン、テキスト検索、地理空間クエリなど、MongoDB の豊富なクエリ機能をそのまま活用できます。既存の MongoDB アプリケーションの移行先としても最適です。一方 DynamoDB は、アクセスパターンが事前に定義でき、ミリ秒単位の一貫したレイテンシが求められるワークロードに向いています。セッション管理、ショッピングカート、リアルタイムの入札システムなど、高スループットと低レイテンシが重要なユースケースで真価を発揮します。オンプレミスの MongoDB から移行する場合、クエリパターンの複雑さに応じて DocumentDB を選択し、新規開発でスケーラビリティを最優先する場合は DynamoDB を選択するのが一般的な判断基準です。両サービスとも暗号化、VPC 統合、IAM 認証をサポートし、エンタープライズレベルのセキュリティ要件を満たします。
DocumentDB と DynamoDB の料金比較
料金は同じ「ドキュメントデータベース」でも課金の考え方が根本的に異なるため、想定ワークロードに当てはめて比較する必要があります (2026 年 8 月時点・バージニア北部 / 東京)。DocumentDB のインスタンス料金はオンデマンドの db.r6g.large が 1 時間あたり 0.26315 ドル (バージニア北部) / 0.3173 ドル (東京) で、730 時間換算では月額約 192 ドル / 約 232 ドルになります。ストレージは 1 GB あたり月額 0.10 ドル (バージニア北部) / 0.12 ドル (東京) で、これに I/O とバックアップの料金が加わります。一方 DynamoDB のオンデマンドモードは、読み取り 100 万リクエストユニットあたり 0.125 ドル (バージニア北部) / 0.1425 ドル (東京)、書き込み 100 万リクエストユニットあたり 0.625 ドル (バージニア北部) / 0.715 ドル (東京) です。DynamoDB はサーバーレスで最小コストがゼロに近い一方、DocumentDB はリクエストがなくてもインスタンスの固定費が発生します。逆に読み書きの量が大きく安定しているワークロードでは、リクエスト課金が積み上がる DynamoDB よりも DocumentDB の固定費のほうが安くなる場合があります。アクセスパターンが単純で高スループットなら DynamoDB、複雑なクエリやアグリゲーションが必要なら DocumentDB を選択し、最新の単価は必ず公式料金ページで確認してください。
まとめ - ドキュメントデータベース戦略の最適化
DocumentDB は MongoDB 互換のクエリ機能と自動拡張するクラスターボリュームを備え、アドホックなクエリや集約パイプラインを使い続けたい既存ワークロードの移行先として有力です。DynamoDB はサーバーレスなスケーラビリティと一貫した低レイテンシを提供し、Lambda とのネイティブ統合でイベント駆動アーキテクチャの構築が容易です。ワークロードの特性に応じて両サービスを使い分けることで、柔軟なデータモデリングと高いパフォーマンスを両立できます。ドキュメントデータベースの選択は、クエリパターンの複雑さ、スケーラビリティ要件、既存資産の活用という 3 つの軸で判断することが重要です。
参考資料 (AWS 公式)
本ページの一次情報は AWS 公式サイトおよび公式ドキュメントです。最新の仕様 / 料金は次の公式ページで確認できます。
本ページと公式ドキュメントの記述が食い違う場合は、公式ドキュメントを正としてください。