【データベース】構造に縛られない柔軟性!ドキュメント型DBの定義|情報処理問題1000本ノック
あらかじめ厳密な表形式を決めなくていい。データの追加や変更が激しい現代のアプリケーション開発で、圧倒的な支持を得ているのが「ドキュメント型データベース」です。
1. 問題:構造を定義せずにデータを管理する形式
【 問題 】 NoSQLデータベースの分類のうち、XMLやJSON形式といった「ドキュメント」と呼ばれる単位でデータを管理するものはどれでしょうか?この形式では、RDBのレコードに相当するデータごとに異なる構造を持たせることが可能です。
① キーバリューストア型 ② ドキュメント型 ③ グラフ型 ④ カラム指向型
2. 正解:NoSQLの分類に関する正解
正解: ② ドキュメント型
3. 解説:スキーマレスによる開発スピード
ドキュメント型は、RDB(関係データベース)のように「CREATE TABLE」で列をガチガチに定義する必要がありません(スキーマレス)。あるデータには「住所」があるけれど、別のデータにはない、といった不揃いな状態でもそのまま保存できるのが最大の特徴です。
[ ドキュメント型のポイント ]
・管理単位:JSONやBSONなどの形式で記述された「ドキュメント」。
・柔軟性:構造をあらかじめ決めておく必要がないため、仕様変更に強い。
・代表的な製品:MongoDB、CouchDB、Amazon DocumentDBなど。
[ 他の選択肢との違い ]
★ キーバリューストア型:単純な「鍵」と「値」のセットのみを扱う(中身の検索は苦手)。
★ グラフ型:ノードとエッジで「つながり」を管理する(SNSなどの関係性重視)。
★ カラム指向型:列単位でデータを保持し、大量データの集計を高速化する。
・管理単位:JSONやBSONなどの形式で記述された「ドキュメント」。
・柔軟性:構造をあらかじめ決めておく必要がないため、仕様変更に強い。
・代表的な製品:MongoDB、CouchDB、Amazon DocumentDBなど。
[ 他の選択肢との違い ]
★ キーバリューストア型:単純な「鍵」と「値」のセットのみを扱う(中身の検索は苦手)。
★ グラフ型:ノードとエッジで「つながり」を管理する(SNSなどの関係性重視)。
★ カラム指向型:列単位でデータを保持し、大量データの集計を高速化する。
1. 理解のコツ: 「リレーショナルDBのレコードに対応するが、構造を決めておく必要はない」という点が、試験で最も狙われる定義です。ドキュメントの中にさらにドキュメントを入れ子にする(ネスト)構造も得意としています。
2. 最新トレンドの視点: Webアプリやモバイルアプリではデータ構造が頻繁に変わるため、開発初期からドキュメント型が選ばれるケースが増えています。高度試験では、RDBとの使い分けや、ACID特性の妥協(結果一貫性)といったトレードオフに関する知識も求められます。
4. まとめ
「ドキュメント単位で、自由な構造で保存する」。これがドキュメント型データベースの核となる定義です。RDBのような厳格さがない分、スピード感のある開発に適したアーキテクチャであることを押さえておきましょう!
PR