令和5年度 春期 応用情報技術者試験 午前 問26
テクノロジデータベース分散DB・NoSQL
JSON形式で表現される図1,図2のような商品データを複数のWebサービスから取得し,商品データベースとして蓄積する際のデータの格納方法に関する記述のうち,適切なものはどれか。ここで,商品データの取得元となるWebサービスは随時変更され,項目数や内容は予測できない。したがって,商品データベースの検索時に使用するキーにはあらかじめ制限を設けない。

図の説明テキスト
JSON形式のデータ
{
"_id":"AA09",
"品名":"47型テレビ",
"価格":"オープンプライス",
"関連商品 id": [
"AA101",
"BC06"
]
}

図の説明テキスト
JSON形式のデータ
{
"_id":"AA10",
"商品名":"りんご",
"生産地":"青森",
"価格":100,
"画像 URL":"http://www.example.com/apple.jpg"
}
解答・解説
正解: ウ. ドキュメントデータベースを使用し,項目構成の違いを区別せず,商品データ単位にデータを格納する。
本設問は、様々な項目構成をもつJSONデータを蓄積するのに適したデータベースモデルを問う問題です。問題文において「取得元となるWebサービスは随時変更され、項目数や内容は予測できない」「検索時に使用するキーにはあらかじめ制限を設けない」とあることから、事前のスキーマ定義が不要(スキーマレス)で、JSONのような複雑な階層構造をもつデータをそのまま格納できるデータベースが適しています。このような要件に最も合致するのは、NoSQLの一つであるドキュメントデータベースです。
各選択肢の解説
- ア: 階層型データベースは、データを木構造で管理する方式です。上位・下位の2階層に分けるといった固定的な構造では、動的に変化するJSONデータの柔軟な管理には適しません。
- イ: グラフデータベースは、データ(ノード)間の関係性(エッジ)を表現することに特化したデータベースです。SNSのつながりや経路探索などには適していますが、JSONドキュメントそのものを格納・検索する目的には最適ではありません。
- ウ: 正解です。ドキュメントデータベースは、JSONやXMLなどの形式のデータを1つの「ドキュメント」として格納します。データごとに異なる構造を持たせることが可能であるため、項目構成が予測できないデータの蓄積に最適です。
- エ: 関係データベース(RDB)は、あらかじめ表の構造(列名やデータ型などのスキーマ)を厳密に定義する必要があります。項目数や内容が予測できないケースでは、列の追加や変更が頻繁に発生し運用が困難になるため不適切です。