半構造化データ【semi-structured data】
概要

リレーショナルデータベース(RDB)やCSVファイルは、あらかじめ定められた列構造やスキーマにデータを当てはめて記録する「構造化データ」(structured data)に分類される。一方、文書ファイルのように書かれている内容についての決まった構造を持たない雑多なデータの集まりは「非構造化データ」(unstructured data)と呼ばれる。
半構造化データは、タグやキーと値の対応など一定の記法に従って記述されており、ソフトウェアが記法を解析することで内容や階層をデータ構造に対応付けられる。ただし、RDBに対するSQLのように定められたデータモデルを前提とした自動処理には向かない。
固定された行や列の概念を持たないため、同じデータ集合の中でも項目の追加や省略、階層の深さの変更を自由に行える柔軟性を備える。この柔軟性の反面、全体が統一された形式(スキーマ)に従うとは限らず、検索や集計、整合性の管理が構造化データより複雑になる場合もある。
代表的な格納形式には、HTMLに似たマークアップ言語である「XML」(Extensible Markup Language)や、JavaScriptのオブジェクト定義構文をデータ記述に応用した「JSON」(JavaScript Object Notation)がある。設定ファイルや構成管理には「YAML」(YAML Ain't a Markup Language)や「TOML」(Tom's Obvious, Minimal Language)などのデータ記述言語も用いられる。データベース管理システム(DBMS)で扱う場合は、固定スキーマを前提としない「KVS」(Key-Value Store)やドキュメント指向データベースなどのNoSQL型システムが利用される。
半構造化データは、Web APIによる利用者間やシステム間のデータ交換、ログデータの保存、設定ファイルの記述など様々な用途に用いられている。近年ではビッグデータ解析やクラウド環境の普及に伴い、半構造化データをそのまま受け入れるデータレイクの活用も広がっている。また、RDBでもJSON形式のデータを直接格納・検索できる機能が普及しており、構造化データと半構造化データを組み合わせて利用する事例も増えている。
関連用語
他の辞典等による「半構造化データ」の解説 (外部サイト)
本ページを参照・引用している文書・論文など (外部サイト)
- 国土交通省 建築BIM推進会議「2024年度 標準化TF 成果報告書
」にて引用 (2024年12月)