過去問ドリル

DP-900:Microsoft Azure Data Fundamentals Azure の非リレーショナルデータ 問5

Azure の非リレーショナルデータ/Azure ストレージの機能

ある開発者は、Webアプリケーションのユーザープロファイルやデバイス情報のように、レコードごとに持つ項目が揃っていないデータを Azure Table Storage に格納することを検討しています。Azure Table Storage の特徴に関する次の記述のうち、誤っているものはどれか。

当サイトのオリジナル問題(DP-900:Microsoft Azure Data Fundamentalsの出題範囲「Azure の非リレーショナルデータ」に対応。実際の試験問題ではありません)

正解:B

解説

誤っている記述は「複数のテーブルをまたいだ JOIN や外部キー制約を使った正規化済みのリレーショナルなクエリを得意としている」という選択肢です。Azure Table Storage はパーティションキーとロウキーによる key/attribute 型のスキーマレスな NoSQL ストアであり、複雑な JOIN や外部キー制約、正規化されたデータモデルを前提としたクエリは想定されていません。そうしたリレーショナルなクエリが必要な場合は、Azure SQL Database のようなリレーショナルデータベースを選ぶ必要があります。一方で、パーティションキー/ロウキーによるエンティティの一意識別とスキーマレスな格納、同一パーティションキー内での高速なクエリやアトミックな一括操作、SQL データベースと比べて低コストに大量データを格納できる点は、いずれも Table Storage の正しい特徴です。

選択肢ごとの解説

  • A誤り。(これは正しい記述なので設問の答えではない)Table Storage はパーティションキーとロウキーでエンティティを一意に識別するスキーマレスな key/attribute ストアで、同じテーブル内に異なる構造のエンティティを混在させて格納できるため、正しい説明です。
  • B正しい。(これが設問の「誤っている記述」に該当)Table Storage は JOIN や外部キー制約、正規化されたデータモデルを前提とした複雑なリレーショナルクエリには対応しておらず、そうした要件には Azure SQL Database などのリレーショナルデータベースが適しています。
  • C誤り。(これは正しい記述なので設問の答えではない)同じパーティションキーを持つエンティティはまとめて高速にクエリでき、アトミックな一括操作の対象にもできるため、正しい説明です。
  • D誤り。(これは正しい記述なので設問の答えではない)Table Storage は大量の構造化データを低コストで格納でき、同規模のデータを一般的な SQL データベースに格納する場合より低コストになる傾向があるため、正しい説明です。
DP-900:Microsoft Azure Data Fundamentalsの問題を演習モードで解く