過去問ドリル

AI-200:Developing AI Cloud Solutions on Azure Azure データ管理サービスを使った AI ソリューションの開発 問1

Azure データ管理サービスを使った AI ソリューションの開発/Azure Cosmos DB for NoSQL を使った AI ソリューションの開発

Azure Cosmos DB for NoSQL のコンテナーに、問い合わせの記録を保存しています。各項目には、検索には使わない長い本文(rawText プロパティ)が含まれており、書き込みのたびに消費する要求ユニット(RU)が大きいことが課題です。クエリでは rawText を条件に使いません。RU を抑える方法として適切なものはどれですか。

当サイトのオリジナル問題(AI-200:Developing AI Cloud Solutions on Azureの出題範囲「Azure データ管理サービスを使った AI ソリューションの開発」に対応。実際の試験問題ではありません)

正解:D

解説

Cosmos DB for NoSQL は、既定ですべてのプロパティにインデックスを作成します。インデックスが多いほど、書き込みで消費する RU とストレージが増えます。クエリで使わない大きなプロパティを excludedPaths でインデックスの対象から外すと、ほかのプロパティでの検索を保ったまま、書き込みの RU を抑えられます。

下線の用語は 用語集 で意味を確認できます。

選択肢ごとの解説

  • A誤り。整合性レベルを強くしても RU は減りません。かえって遅延やコストが増える方向の変更です。
  • B誤り。id は項目を一意に識別する短い値に使うものです。長い本文を含めても、書き込み時のインデックス作成の負担は減りません。
  • C誤り。インデックスを作らないと書き込みの負担は減りますが、ほかのプロパティを条件にしたクエリが非効率になり、要件に支障が出ます。
  • D正しい。使わないプロパティだけをインデックスから除外するのが、検索性能を保ちながら書き込みの RU を減らす基本的な方法です。
AI-200:Developing AI Cloud Solutions on Azureの問題を演習モードで解く