AWS DynamoDBとDocumentDBの違い

目次

DynamoDBとDocumentDBの違い

項目 DynamoDB DocumentDB
種類 NoSQL、キー値/ドキュメント型 MongoDB互換のドキュメントDB
管理方式 サーバーレス クラスター/インスタンス型
主な使い方 キーで高速にデータ取得 JSON風ドキュメントを柔軟に検索
スケール 自動スケールしやすい クラスター/インスタンスを設計する
クエリ 主キー、セカンダリインデックス中心 MongoDB風のクエリ
運用負荷 低い DynamoDBよりはDB運用に近い
向いている用途 大量アクセス、単純・高速な検索 MongoDB移行、柔軟なドキュメント検索
代表例 セッション、ユーザー設定、ゲームデータ、IoT カタログ、CMS、MongoDB互換アプリ

DynamoDB:超大規模でアクセスパターンが明確、低レイテンシと自動スケールを重視する場合
DocumentDB:既存のMongoDBアプリの移行や、柔軟で複雑なクエリ・集計が必要の場合

DynamoDBとは

DynamoDBは、キーを指定して高速にデータを読み書きする用途に強いDBです。

・AWS独自のフルマネージドなキーバリュー/ドキュメント型NoSQLデータベースです
・サーバーレスで、キャパシティの自動スケーリングが可能(プロビジョンド/オンデマンド)です
・一貫して低レイテンシ(1桁ミリ秒)を大規模でも維持できます
・データはキー(パーティションキー+ソートキー)を軸にアクセスする設計です
・クエリの柔軟性は低め。事前にアクセスパターンを想定した設計が重要です
・独自のAPI(PartiQLも利用可)です

DocumentDBとは

DocumentDBは、MongoDB互換のドキュメントDBです。
JSONのような形でデータを持ち、階層構造のあるデータを扱いやすいです。

・MongoDB互換のフルマネージドなドキュメント型データベースです
・MongoDBのAPI・ドライバー・ツールをそのまま使えます(互換性ベース)
・JSONライクなドキュメント(BSON)を格納し、リッチなクエリやインデックスが可能です
・内部的にはクラスターベース(インスタンスを起動・管理する構成)です
・複雑なクエリや集計、既存MongoDBアプリの移行に向きます

関連の記事

AWS DynamoDBのデータを確認する

△上に戻る