データベース編 第6章 / 全13章
ドキュメントDBとは
Document Database
NoSQL ・ JSONで丸ごと保存クリアファイル。1人分の書類を1つのファイルに丸ごと入れておく。人によって書類の枚数が違ってもかまわない。
図とさわれるデモで確かめる →
ポイント
- 1件分のデータを、JSONという形式でまとめて保存する
- 項目がデータごとに違ってもよい(スキーマレス)
- アプリの画面で使う形のまま保存できるので、開発が速い
名前の由来
document書類data資料base置き場
1件のデータを「書類1枚」として丸ごと保存するDB。document はラテン語 documentum(教え・証拠)から。
仕事の現場では
商品ごとに項目が違うECサイトの商品情報や、アプリのユーザー設定など「形が変わりやすいデータ」に向いています。
くわしく(正確な話)
- 代表例はMongoDB。クラウドではCosmos DB・Firestore・DocumentDB。
- 入れ子(中にリストや別の項目を持つ)構造をそのまま保存できる。
- 関連データを1件にまとめておくので、JOINをあまり使わない設計になる。
- 自由度が高いぶん、項目名のゆれなどのルールはアプリ側で守る必要がある。
この章の用語(意味と語源)
- ドキュメントDB Document Database
1件のデータを、JSONの「書類」として丸ごと保存するDB。
データごとに項目が違ってもよく、アプリで使う形のまま保存できます。
語源document(書類)。ラテン語 documentum(教え・証拠)から。
- JSON ジェイソン
データを「項目名: 値」の形で書く、テキストの書き方。
{ "name": "Tシャツ", "price": 2000 } のように書きます。人にも機械にも読みやすく、Webで広く使われています。
覚えておく:{ "項目名": 値 }
語源JavaScript Object Notation(JavaScriptでのモノの書き表し方)の頭文字。
- スキーマ / スキーマレス Schema / Schemaless
データの「形(項目と型)」の決まりごと/それを事前に決めなくてよいこと。
RDBは先にスキーマ(設計図)を決めます。ドキュメントDBはスキーマレスで、データごとに項目を変えられます。
語源ギリシャ語 skhēma(形・姿)から。-less は「〜がない」。
- MongoDB モンゴディービー
もっとも有名なドキュメントDB。
語源humongous(とてつもなく巨大な)という英語から。