TL;DR
NoSQL データベースの一種で、JSON や XML のような半構造化データを保存するデータベース。
仕組み
ドメインのデータをドキュメントデータベースに永続化する手順は、次の 3 ステップだけで済む。
- ドメインオブジェクトを DTO に変換する
- DTO を JSON 文字列に変換する
- ストレージの API を通して CRUD 操作を行う
MongoDB の公式ドキュメントによると、MongoDB ではドキュメントがデータの基本単位で、データを BSON ドキュメントとして保存する。BSON は JSON のドキュメントをバイナリで表したもので、JSON より多くのデータ型を持つ。ドキュメントはフィールドと値の組からなり、値には他のドキュメントや配列、ドキュメントの配列も入れられる。各ドキュメントは主キーとして一意な _id フィールドを持つ。
例
- MongoDB
- Amazon DynamoDB
- Azure Blob Storage
注意点
MongoDB では、1 つの BSON ドキュメントの大きさは最大 16 MiB である。1 つのドキュメントが RAM や転送時の帯域を使いすぎないようにするための制限で、それより大きいデータは GridFS の API で保存する。