Microsoft Azure Data Fundamentals(DP-900)「Azure上の非リレーショナルデータ」の練習問題7問です。テーブルや行・列にきっちり収まらないデータをどこに置くか、というのがこの分野のテーマになります。Azure Cosmos DB のAPIやグローバル分散の特徴、Azure Storage(Blob・File・Queue・Table)の使い分け、半構造化・非構造化データの保存先選びの理解度を確認できます。解けなかった問題は、各問の解説末尾のリンクから対応する解説記事に進んでください。
Q1. 「非リレーショナルデータ」の説明として、もっとも適切なものはどれですか?
回答
解説
正解は「B」です。
非リレーショナルデータは、リレーショナルデータベースのように固定された表(行と列)にきっちり収めることを前提としないデータです。JSON のように項目(キー)がデータごとに違っていてもよく、半構造化・非構造化のデータを柔軟に扱えるのが特徴です。
A は固定された表を前提とするリレーショナルデータの説明、C は SQL 専用という誤った決めつけ、D は数値だけという誤りで、いずれも非リレーショナルの考え方とは異なります。
Q2. Azure Cosmos DB の特徴として、もっとも適切なものはどれですか?
回答
解説
正解は「D」です。
Azure Cosmos DBは、フルマネージドの NoSQL(非リレーショナル)データベースです。世界中の複数リージョンへデータを分散・複製でき(ターンキーのグローバル分散)、低遅延での読み書きを目指せます。世界中に利用者がいるアプリのデータ基盤に向いています。
A はグローバル分散できるため誤り、B はフルマネージドでOS管理が不要なため誤り、C はファイル共有サービス(Azure Files)の説明で、いずれも Cosmos DB の特徴とは異なります。
Q3. Azure Cosmos DB の「API」に関する説明として、もっとも適切なものはどれですか?
回答
解説
正解は「A」です。
Azure Cosmos DB は複数のAPIに対応しており、ネイティブの API for NoSQL のほか、MongoDB・Cassandra・Gremlin(グラフ)・Table などから用途に合わせて選べます。文書型・キー値型・グラフ・テーブルといった複数のデータモデルを扱えるのが強みです。
B は SQL Server 専用という誤り、C はAPI がないという誤り、D はデータモデルを扱えなくなるという誤りで、いずれも Cosmos DB の説明とは異なります。
Q4. 画像や動画、バックアップファイルなど、形の決まっていない大量の非構造化データを保存する用途に、もっとも適したものはどれですか?
回答
解説
正解は「C」です。
Azure Blob Storageは、テキストやバイナリといった非構造化データを大規模に保存できるオブジェクトストレージです。画像・動画の配信、バックアップやアーカイブ、分析用データの保管などに向いています。
A の Queue はコンポーネント間のメッセージのやり取り、B の Table は構造化データのキー/属性ストア、D の Azure SQL Database はリレーショナルデータベースで、いずれも大量の非構造化ファイル置き場としては Blob ほど適していません。
Q5. クラウド上の複数の仮想マシンから、共通のフォルダーとしてファイルを共有したい場合に、もっとも適したものはどれですか?
回答
解説
正解は「A」です。
Azure File Storage(Azure Files)は、SMB や NFS といった標準のプロトコルで使えるマネージドのファイル共有サービスです。複数の仮想マシンから同じファイル共有をマウントして、共通のフォルダーのように読み書きを共有できます。
B の Queue はメッセージのやり取り用、C の Table は構造化データのキー/属性ストア、D の Blob はオブジェクト単位の保存で、ファイル共有(フォルダーとしての共有)の用途には Azure Files がもっとも適しています。
Q6. アプリの部品どうしを切り離し、処理を後回し(非同期)でやり取りするためのメッセージを一時的にためておく用途に、もっとも適したものはどれですか?
回答
解説
正解は「B」です。
Azure Queue Storageは、アプリのコンポーネント間でメッセージを信頼性高くやり取りするためのストアです。たとえば画像のアップロードを受け取ったらメッセージをキューに入れ、別の処理がそれを取り出してサムネイルを作る、といった非同期処理に使えます。部品どうしを切り離して、それぞれを別々に増減できるのが利点です。
A の Blob はファイル置き場、C の Files はファイル共有、D の Table は構造化データの保存用で、メッセージのやり取りには Queue がもっとも適しています。
Q7. Azure Table Storage の説明として、もっとも適切なものはどれですか?
回答
解説
正解は「C」です。
Azure Table Storageは、構造化データをキー/属性のペアとして保存できる NoSQL ストアです。スキーマレス(あらかじめ列を固定しない)設計のため、Webアプリのユーザー情報やデバイス情報など、項目が一定でない柔軟なデータの保存に向いています。
A はリレーショナルデータベースの説明、B は Blob Storage、D は Queue Storage の説明で、いずれも Table Storage とは異なります。
試験全体の流れを俯瞰したい時は、Azure Data Fundamentals(DP-900) 試験全体概要 に戻れます。
学習の全体像と次に進む分野は、Azure Data Fundamentals(DP-900) 学習ロードマップ で確認できます。