【DS検定対策】JSONやXMLの正体!「半構造データ」の特徴とメリット
リレーショナルデータベース(RDB)のテーブルのようにカチッと決まった枠はないけれど、テキストファイルとも違う。柔軟性と扱いやすさを両立したのが「半構造データ」です。
1. 【 問題 】
データサイエンスで扱うデータの分類において、リレーショナルデータベースのテーブルのように「すべてのデータに共通する厳密な定義(スキーマ)」は存在しないものの、各データがタグやキーなどの自己記述的な構造(スキーマ)を内部に持っているデータ形式を何と呼ぶでしょうか?
① 構造化データ
② 半構造データ
③ 非構造化データ
④ メタデータ
2. 【 解答 】
3. 整理:3つのデータ形式の違いと具体例
試験や実務では、データを「構造化」「半構造」「非構造」の3つに明確にキャラクター分けして整理しておくことが鉄則です。
| データの分類 | スキーマ(構造)の特徴 | 具体的なデータ形式 |
|---|---|---|
| 1. 構造化データ | あらかじめ厳密に定義された枠組み(スキーマ)に従って、行と列にきれいに収まっているデータ。 | RDB(関係データベース)のテーブル、CSV、Excelファイルなど。 |
| 2. 半構造データ ★今回の主役 |
全体を一律に縛る枠はないが、データ自身の中に「キー」や「タグ」などの構造(メタデータ)が含まれているデータ。 | JSON、XML、WebサイトのHTML、設定ファイル(YAML)など。 |
| 3. 非構造化データ | 定型的なルールや構造を一切持たない、生のデータ。そのままではRDB等に格納して集計することが難しいデータ。 | 画像、音声、動画、自然言語のテキスト(メール本文や書籍)など。 |
4. なぜ今「半構造データ」が重要なのか?
WebサービスのAPI通信や、IoTセンサーから送られてくるログデータなどは、そのほとんどがJSON(半構造データ)でやり取りされます。
「ユーザーによって持っている属性情報(カラム)がバラバラ」「後から新しい項目を急に追加したい」といった場合でも、RDBのように `ALTER TABLE` でシステムを止めたりスキーマ変更をしたりする必要がなく、データをそのまま柔軟に吸い込める(高い拡張性を持つ)という点が、モダンなシステム開発やデータ収集において最大の強みとなっています。
5. DS検定形式:実戦4択クイズ
問:半構造データの代表例である「JSON」の記述ルールに関する説明として、最も適切なものはどれか。
① データを「<tag>データ</tag>」のように、カスタムタグで挟むことで構造を表現する。
② データを「"キー" : 値」のペア(Key-Valueペア)の形式で記述し、全体を中括弧 { } や大括弧 [ ] で囲んで表現する。
③ カンマ(,)で区切られたデータ行のみで構成され、階層構造を表現することはできない。
④ バイナリ形式のデータであり、テキストエディタで直接中身を読んで編集することはできない。
【 正解: ② 】
解説: まさにJSON(JavaScript Object Notation)の基本定義です。ちなみに①はXMLの説明、③はCSVの説明です。JSONはテキスト形式でありながら複雑な階層構造(ネスト)を表現できるため、半構造データの王座に君臨しています。
6. まとめ
DS検定において「全体の共通スキーマはないが、個々にスキーマを持っているデータ」という非常に精緻な問題文が出たら「半構造データ(JSONやXML)」の事です。構造化データへの前処理(パース)やNoSQLデータベースの文脈でも必ずセットで問われる知識ですので、その柔軟なメリットをしっかり頭に叩き込んでおきましょう!