DP-900コア データ概念MEDIUM単一選択

ある EC サイトが「商品カタログデータ」を管理している。各商品には必ず商品ID・価格・在庫数があるが、一部商品には「カラーバリエーション」の配列があり、別の商品には「サイズ表」のネストした構造があり、商品ごとに属性が大きく異なる。このデータを格納するのに最も適したアプローチはどれか。

  1. A. Blob ストレージ:商品カタログを画像ファイルとしてバイナリ保存する
  2. B. リレーショナルデータベース:全商品に同じ固定列を強制して NULL で埋める
  3. C. ドキュメントデータベース(NoSQL):商品ごとに異なる属性をJSONドキュメントとして柔軟に保存する
  4. D. テーブルストレージ:すべての商品属性を文字列のキーと値のフラット構造に変換する
解答と解説を見る

正解: C

カラーバリエーションの配列やサイズ表のネスト構造など、商品ごとにスキーマが大きく異なる半構造化データには「ドキュメントデータベース(NoSQL)」が最適である。JSONドキュメント形式により、各商品が独自の属性セットを持てる柔軟性が確保できる。選択肢Bのリレーショナルデータベースで全商品に固定列を強制する方法は機能するが、存在しない属性は全てNULLとなりテーブルがスパース(疎)になる。また配列やネスト構造をフラットなリレーショナルモデルで表現するには複数のテーブルの結合設計が必要となり、商品属性の多様性が高い場合は非効率となる。選択肢AのBlobストレージはバイナリファイル(画像・動画など)の格納に適しており、構造を持つ商品データの検索・クエリには不適切である。選択肢Dのテーブルストレージはフラットなキーと値の構造しか持てないため、配列やネスト構造をそのまま表現することが難しく、本シナリオの複雑な商品属性には不向きである。

▸ この試験を本気で演習する(全150問・無料)