Amazon DocumentDB
MongoDB 互換の API を提供するフルマネージドドキュメントデータベースで、JSON ドキュメントの格納 / クエリ / インデックス作成をスケーラブルに実行する
概要
Amazon DocumentDB (with MongoDB compatibility) は、MongoDB 互換の API (2026 年 8 月時点で 3.6 / 4.0 / 5.0 / 8.0) を提供するフルマネージドドキュメントデータベースサービスです。内部的には Aurora と同様の分散ストレージアーキテクチャを採用しており、ストレージは 3 つの AZ に 6 つのコピーで自動レプリケーションされます。最大 15 のリードレプリカ、自動バックアップ、ポイントインタイムリカバリ、保管時と転送時の暗号化を標準で備えています。MongoDB のドライバーやツールをそのまま使用できるため、既存の MongoDB アプリケーションを最小限の変更で移行できます。
MongoDB との互換性と非互換の境界線
DocumentDB は MongoDB ワイヤプロトコルに互換性がありますが、MongoDB そのものではありません。この違いを正確に理解しておかないと、移行後に予期しない動作に遭遇します。互換性があるのは、CRUD 操作、集約パイプライン (aggregate)、インデックス (単一フィールド、複合、マルチキー、地理空間、5.0 互換以降のテキスト)、トランザクション (4.0 互換)、Change Streams です。一方、非互換な機能として、$where 演算子、サーバーサイド JavaScript 実行、Capped Collection、版によって対応が異なる集約ステージ (例: 2026 年 10 月時点で $merge は 8.0 互換でのみ対応) があります。MongoDB Atlas からの移行では、AWS Database Migration Service (DMS) を使ったオンライン移行が可能で、ダウンタイムを最小化できます。移行前に DocumentDB の互換性テストツールを使い、アプリケーションが使用している API が DocumentDB でサポートされているか事前検証することが強く推奨されます。MongoDB 本家の新バージョンへの追随には時間差があり、互換対象バージョンでもすべての機能が使えるわけではありません。特定バージョン固有の機能に依存する場合は、公式の互換性ドキュメントで対応状況を確認した上で、DocumentDB と MongoDB Atlas のどちらを採用するか判断すべきです。
インスタンスクラスの選定とコスト最適化
AWS 公式の料金ページによると、インスタンスベースのクラスターのコストは、標準構成ではインスタンス、I/O、ストレージ、バックアップストレージの 4 つで構成され、I/O-Optimized 構成では I/O の料金がかかりません (2026 年 10 月時点)。インスタンスクラスは R5、R6G (Graviton2)、R8G、T3、T4G などのファミリーから選択できます。ワーキングセットがインスタンスのメモリに収まるかどうかがパフォーマンスの分水嶺で、メモリに収まらないとディスク I/O が増加し、レイテンシが急激に悪化します。CloudWatch の BufferCacheHitRatio メトリクスが想定より低い場合は、インスタンスクラスのスケールアップを検討します。読み取り負荷が高いワークロードでは、リードレプリカを追加してアプリケーション側で読み取りを分散させます。DocumentDB Elastic Clusters を使えば、シャーディングによる水平スケーリングも可能で、数百万の読み書きリクエスト/秒とペタバイト規模のストレージに対応できます。
DynamoDB との選択基準
DocumentDB と DynamoDB はどちらも NoSQL データベースですが、データモデルとアクセスパターンが根本的に異なります。DynamoDB はキーバリュー/ワイドカラム型で、パーティションキーとソートキーによるアクセスパターンを事前に設計する必要があります。単一テーブル設計により極めて高いスループットと一桁ミリ秒のレイテンシを実現しますが、アドホックなクエリや複雑な集約処理には向きません。DocumentDB はドキュメント型で、任意のフィールドにインデックスを作成してフレキシブルなクエリが可能です。集約パイプラインによる複雑なデータ変換、ネストされた JSON ドキュメントの部分更新、正規表現による検索など、RDB に近い柔軟性を持ちます。選定の目安として、アクセスパターンが明確で超高スループットが必要なら DynamoDB、スキーマが頻繁に変わりアドホッククエリが多いなら DocumentDB が適しています。コンテンツ管理システム、ユーザープロファイル、カタログデータなど、ドキュメント構造が複雑で検索条件が多様なケースでは DocumentDB の柔軟性が活きます。
参考資料 (AWS 公式)
本ページの一次情報は AWS 公式サイトと公式ドキュメントです。最新の仕様と料金は次の公式ページで確認できます。
本ページと公式ドキュメントの記述が食い違う場合は、公式ドキュメントを正としてください。