Amazon DocumentDB
MongoDB 互換のマネージドドキュメントデータベースサービス
何ができるか
Amazon DocumentDB は、MongoDB 互換の API を備えたフルマネージドのドキュメントデータベースサービスです。JSON 形式のドキュメントデータを柔軟に格納・検索でき、インフラの管理やパッチ適用を AWS が自動で行います。ストレージは最大 128 TiB まで自動拡張され、3 つのアベイラビリティゾーンにデータが複製されます。
どのような場面で使うか
コンテンツ管理システム、ユーザープロファイルの格納、カタログ情報の管理、モバイルアプリのバックエンドなど、スキーマが頻繁に変わるデータの格納に適しています。既存の MongoDB ワークロードをクラウドに移行する際にも利用されます。 この分野について体系的に学びたい方は、関連書籍 (Amazon) も参考になります。
身近な例え
書類を自由にファイリングできるキャビネットに例えられます。リレーショナルデータベースが決まった書式の帳票しか入れられないのに対し、DocumentDB は形式の異なる書類でもそのまま保管でき、必要なときにすぐ取り出せます。
DocumentDB とは
Amazon DocumentDB は、JSON ドキュメントを格納・クエリするためのデータベースサービスです。MongoDB 互換の API を提供しているため、既存の MongoDB 用のドライバーやツールをそのまま利用できます。テーブル定義を事前に決める必要がなく、ドキュメントごとに異なる構造のデータを格納できる柔軟性が特徴です。
アーキテクチャと可用性
DocumentDB はコンピュートとストレージが分離されたアーキテクチャを採用しています。ストレージは 3 つのアベイラビリティゾーンに 6 つのコピーが自動的に作成され、高い耐久性を実現します。リードレプリカを最大 15 台追加でき、読み取り負荷を分散できます。フェイルオーバーは通常 30 秒以内に完了します。
MongoDB との互換性
DocumentDB は MongoDB 3.6、4.0、5.0 の API と互換性があります。既存の MongoDB アプリケーションのコードをほぼ変更せずに移行できます。ただし、一部の MongoDB 固有機能 (サーバーサイド JavaScript 実行など) はサポートされていないため、移行前に互換性を確認することが重要です。AWS Database Migration Service を使えば、稼働中の MongoDB からダウンタイムを最小限に抑えて移行できます。
はじめかた
DocumentDB コンソールで「クラスターの作成」を選択し、インスタンスクラスとレプリカ数を指定します。エンドポイントが発行されるので、MongoDB ドライバーの接続文字列にそのエンドポイントを設定すれば接続完了です。Elastic Clusters を選択すると、シャーディングによる水平スケーリングも利用できます。
注意点
- MongoDB の全機能が互換ではないため、移行前に Amazon DocumentDB Compatibility Tool で互換性を確認すること
- インスタンスベースの課金のため、DynamoDB のようなオンデマンド課金とは異なり、インスタンスが稼働している間は常にコストが発生する
- Elastic Clusters を使うとシャーディングが可能だが、通常のクラスターとは料金体系が異なる
さらに詳しく知りたい方は、関連書籍 (Amazon) で理解を深められます。