あるスタートアップが、ユーザーのプロフィール情報(ユーザーID、名前、メールアドレス、登録日)を管理するシステムを構築しようとしている。将来的にフィールドが増える可能性は低く、全ユーザーが必ず同じフィールドを持つ設計にしたい。最も適切なデータ格納方式はどれか。
- A. Blob ストレージ:バイナリ形式でプロフィールデータをファイルとして保存する
- B. リレーショナルデータベース:固定スキーマのテーブルで全ユーザーが同じフィールドを持つ構造化データを効率的に管理できる
- C. ドキュメントデータベース(NoSQL):JSONドキュメントでスキーマレスに格納することで将来の変更に柔軟に対応できる
- D. グラフデータベース:ノードとエッジの関係モデルでユーザーのフォロー関係を管理する
解答と解説を見る
正解: B
全ユーザーが必ず同じフィールド(ユーザーID、名前、メールアドレス、登録日)を持つ固定構造のデータは「構造化データ」であり、リレーショナルデータベースが最も適切な格納方式である。リレーショナルデータベースは固定スキーマのテーブル構造で整合性制約(主キー・NOT NULL制約など)を適用でき、全ユーザーの同一フィールド保証が容易に実現できる。選択肢CのNoSQLドキュメントデータベースはスキーマが柔軟なため、レコードごとに異なるフィールドを持つ半構造化データに適している。全員が同じ固定フィールドしか持たない本ケースでは、リレーショナルDBのほうがシンプルで整合性管理がしやすい。選択肢AのBlobストレージは画像・動画・バイナリファイルなどの非構造化データ保存に適しており、プロフィールの構造化データ管理には不向きである。選択肢Dのグラフデータベースはノード間の複雑な関係(ソーシャルグラフ・推薦エンジン)を管理するのに特化しており、単純なプロフィール管理に用いるものではない。