Azure認定資格 WEB問題集&徹底解説
DP-900:Microsoft Azure Data Fundamentals
問題文と選択肢
この判断の根拠として最も適切なものはどれか。
- 同等のワークロードにおいて、Azure Cosmos DB for Table よりも低コストで運用できるため
- 複数のリージョンへの書き込み(マルチリージョン書き込み)を構成できるため
- 読み取り・書き込みともに単一桁ミリ秒のレイテンシが SLA として保証されているため
- クエリに使用できるインデックスとクエリ機能が Azure Cosmos DB for Table よりも高機能であるため
A. 同等のワークロードにおいて、Azure Cosmos DB for Table よりも低コストで運用できるため
正解です。Azure Table Storage はストレージ アカウントの中で使うキー/値ストアで、料金は保存したデータ量とトランザクション数に応じた使用量ベースです。公式ドキュメントも Table Storage のデータ アクセスを「高速でコスト効率に優れる」と説明しています。
Azure Cosmos DB for Table は、同じデータ モデルのままより高いパフォーマンスと可用性、グローバル分散、自動セカンダリ インデックスを提供する上位のサービスです。Cosmos DB for Table にも使用量ベースのサーバーレス モードはありますが、こうした付加価値の分だけ、同等のワークロードでは一般に Table Storage の方が低コストになります。
配送スキャンのように「キーで書き込み、キーで引く」大量記録で高度な機能が要らないなら、コストを理由に Table Storage を選ぶのが妥当な判断です。
B. 複数のリージョンへの書き込み(マルチリージョン書き込み)を構成できるため
複数リージョンへの書き込み(マルチリージョン書き込み)はAzure Cosmos DB for Table の機能です。公式の比較表では、Cosmos DB for Table は 1 から 30 以上のリージョンにわたるターンキー グローバル配信を提供するとされています。
一方、Azure Table Storage のグローバル配信は「単一リージョン+任意で読み取り可能なセカンダリ リージョン 1 つ」で、通常時に書き込めるのはプライマリ リージョンだけです。複数リージョンへの書き込みは Table Storage を選ぶ根拠にならず、むしろ Cosmos DB for Table を選ぶ理由になります。
C. 読み取り・書き込みともに単一桁ミリ秒のレイテンシが SLA として保証されているため
読み取り・書き込みの1 桁ミリ秒のレイテンシ(99 パーセンタイルで読み取り 10 ミリ秒未満・書き込み 15 ミリ秒未満)を裏付けとして示しているのはAzure Cosmos DB for Tableです。
公式の比較表では、Azure Table Storage のレイテンシは「高速だが、待ち時間の上限はなし」とされています。レイテンシの保証が要件ならむしろ Cosmos DB for Table を選ぶべきで、Table Storage を選ぶ根拠にはなりません。
D. クエリに使用できるインデックスとクエリ機能が Azure Cosmos DB for Table よりも高機能であるため
2 つのサービスは同じテーブル データ モデルと操作を共有しており、大きな違いの 1 つがインデックスの範囲です。Azure Table Storage が持つのは PartitionKey と RowKey に対するプライマリ インデックスのみで、セカンダリ インデックスは無く、それ以外のプロパティでの絞り込みはスキャンになります。
一方、Azure Cosmos DB for Table はすべてのプロパティを自動的にインデックスし、インデックスを管理しなくてもクエリを高速化できます。インデックスとクエリ機能が高機能なのは Cosmos DB for Table 側であり、記述は逆です。
安さなら Table Storage、性能・グローバル分散・自動インデックスなら Cosmos DB for Table。
正解への思考ルート
問題文から要件を抽出し、選択肢の適否を判断するのがポイントです。| 要件 | 判断ポイント |
|---|---|
| Cosmos DB for Table ではなく Table Storage を選んだ根拠 | 両者は同じデータ モデル・同じ SDK。Table Storage の側にある強みは低コスト →選択肢(A)が正解 |
| 複数リージョンへの書き込み | Table Storage は単一リージョン+読み取り可能なセカンダリ 1 つまで。グローバル分散は Cosmos DB for Table 側 →選択肢(B)を消す |
| 単一桁ミリ秒のレイテンシ保証 | Table Storage は「高速だが待ち時間の上限なし」。レイテンシの裏付けは Cosmos DB for Table →選択肢(C)を消す |
| インデックスとクエリ機能 | Table Storage はPartitionKey・RowKey のみ、Cosmos DB for Table は全プロパティを自動インデックス →選択肢(D)を消す |
| 配送スキャンイベントをキーと値の形式で大量に記録する | キーで書いてキーで引く単純なアクセスなら高機能は不要で、コストが判断軸になる →選択肢(A)が正解 |
ひっかけポイント
- 選択肢 B〜D はどれも「実在する機能」で正しそうに聞こえるが、いずれもAzure Cosmos DB for Table 側の強み。「Table Storage を選んだ理由」としては主語が逆になっている
- 「Cosmos DB はスループットを予約して常に課金される」と覚えているとコスト比較を雑に判断しがち。Cosmos DB for Table にも使用量ベースのサーバーレス モードがある。それでも高性能・グローバル分散の対価として一般に Table Storage の方が安い、が正確な理解
- Table Storage もストレージ アカウントの geo 冗長で別リージョンにコピーを持てるため「マルチリージョン対応」と混同しやすいが、セカンダリは読み取り用の 1 リージョンだけで、複数リージョンへの書き込みはできない
- 「Cosmos DB for Table は別物で、問い合わせ方法も違う」と思い込みがちだが、両者は同じテーブル データ モデル・同じ Azure Tables SDKで操作できる。違いは性能・分散・インデックス・料金
出題バリエーション
同じ知識が本番では条件を変えて出題されます。| 問題文がこう変わったら | 正解はこう変わる |
|---|---|
| 「世界中のユーザーに低レイテンシで提供し、複数リージョンで書き込みたい」 | Azure Cosmos DB for Table が正解に変わる。 |
| 「PartitionKey・RowKey 以外の任意のプロパティで高速にクエリしたい(インデックス管理はしたくない)」 | 全プロパティを自動インデックスする Azure Cosmos DB for Table。 |
| 「既存の Table Storage アプリをコードをほぼ変えずに性能強化したい」 | 同じ Azure Tables SDK で接続できる Azure Cosmos DB for Table への移行が正解軸に。 |
| 「キーと値の記録ではなく、動画や画像などのファイルを安く保存したい」 | Azure Blob Storage(アクセス層で保管コストを調整できる)。 |
| 「項目の異なるJSON ドキュメントをそのまま格納し、SQL ライクにクエリしたい」 | Azure Cosmos DB for NoSQL が正解軸に。 |
リファレンス
この問題を解くために必要な知識を扱う公式ドキュメントです。| 知識項目 | 公式ドキュメント |
|---|---|
| Azure Table Storage と Azure Cosmos DB for Table の比較(レイテンシ・グローバル配信・インデックス・料金) | Azure Table Storage のサポート - Azure Cosmos DB for Table | Microsoft Learn |
| Table Storage のコスト効率と、Cosmos DB for Table(サーバーレス モードあり)との関係 | テーブル ストレージの概要 - Azure のオブジェクト ストレージ | Microsoft Learn |
| Azure Table Storage のデータ モデルと、Cosmos DB for Table が加える性能・グローバル分散・自動セカンダリ インデックス | Azure Tables の詳細情報 - Training | Microsoft Learn |
この判断の根拠として最も適切なものはどれか。
- 同等のワークロードにおいて、Azure Cosmos DB for Table よりも低コストで運用できるため
- 複数のリージョンへの書き込み(マルチリージョン書き込み)を構成できるため
- 読み取り・書き込みともに単一桁ミリ秒のレイテンシが SLA として保証されているため
- クエリに使用できるインデックスとクエリ機能が Azure Cosmos DB for Table よりも高機能であるため
次の問題
会員機能
お役立ち情報
姉妹サイト
AWS
- CLF:クラウドプラクティショナー
- SAA:ソリューションアーキテクト-アソシエイト
- AIF:AIプラクティショナー
- SOA:CloudOpsエンジニア-アソシエイト
- DVA:デベロッパー-アソシエイト
- DEA:データエンジニア-アソシエイト
- MLA:機械学習エンジニア-アソシエイト
- SAP:ソリューションアーキテクト-プロフェッショナル
- DOP:DevOpsエンジニア-プロフェッショナル
- AIP:生成AIデベロッパー-プロフェッショナル
- SCS:セキュリティ-専門知識
Microsoft Azure
- AZ-900:Microsoft Azure Fundamentals
- AZ-104:Microsoft Azure Administrator
- AI-901:Microsoft Azure AI Fundamentals
- DP-900:Microsoft Azure Data Fundamentals