目次
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アプリの移行に向きます
関連の記事
