Microsoft AZ-204: Azure Cosmos DB — 学習ガイド

こちらの一部です: Microsoft Azure Developer Associate AZ-204 — 学習ガイド. 検証済みの解答で練習: Microsoft試験ハブ, または時間制限付き模擬試験に挑戦: ExamRoll.io.

概要

Azure Cosmos DBは、フルマネージドでグローバルに分散された、マルチモデルデータベースです。低レイテンシーで弾力的にスケーラブルなアプリケーション向けに設計されています。共通のパーティション化されたストレージおよびレプリケーションエンジン上で複数のAPIを公開し、5つの調整可能な整合性レベルを提供し、可用性、レイテンシー、スループット、整合性に関する包括的なSLAを提供します。データは、アカウント、データベース、コンテナー(APIによってはコレクション/テーブル/グラフ)に整理されます。コンテナーはパーティションキーによって水平にパーティション分割およびスケーリングされ、すべての操作はリクエストユニット(RU)で測定されます。RUは、CPU、IOPS、メモリを抽象化する正規化された通貨です。

APIとプログラマビリティ

Cosmos DBは、いくつかのワイヤ互換APIをサポートしているため、データモデルを書き直すことなくネイティブのSDKやドライバーを使用できます。

API間で共通のSDK操作には、CRUD、ETagによるオプティミスティック同時実行制御、アップサート、サーバーサイドスクリプト(ストアドプロシージャ、トリガー)、およびUDF(SQL API)が含まれます。クエリはパラメータ化され、RUを削減しセキュリティを向上させます。一括操作とストリーミングAPIは、高スループットの取り込みにおいて、クライアントのオーバーヘッドとRUコストを最小限に抑えます。

整合性、インデックス作成、クエリセマンティクス

Cosmos DBは、アカウントごとに5つの明確に定義された整合性レベルを提供します(多くのSDKではリクエストごとにオーバーライド可能)。

SQL APIでは、デフォルトでインデックス作成は自動的かつ一貫性があります。すべての項目とプロパティがスキーマ管理なしでインデックス付けされ、書き込みは即座にインデックスを更新します(インデックス作成モードはConsistent)。インデックス作成ポリシーを調整して、以下を行うことができます。

項目のサイズとクエリの形状に注意してください。SQL APIは項目サイズ制限(例:2MB)を強制し、クロスパーティションクエリ、大きなプロジェクション、複雑な述語はRU消費を増加させます。選択的なプロジェクション、適切なフィルター、パーティションを意識したクエリを使用して、RUコストを最小限に抑えます。

パーティション分割とスループット (RU)

Cosmos DBは、論理パーティションと物理パーティションを分離しています:

カーディナリティが高く、時間の経過とともにアクセスが均等に分散される効果的なパーティションキーを選択してください。優れたキーは、プライマリアクセスパス (例: userId, deviceId, tenantId, orderId) と相関しています。スキュー (偏り) を引き起こすような、カーディナリティの低いキーや時間で区切られたキー (例: country, status, day) は避けてください。単一のプロパティが適切でない場合:

スループットモデル:

RU の最適化手法には、id+パーティションキーによるポイントリード、パラメーター化クエリ、選択的プロジェクション、JOIN のようなパターンを減らすための非正規化、複雑な複数コンテナーのクエリの代わりに派生ビューのために変更フィードを使用することなどが含まれます。RU を大量に消費する再試行を避けるため、同時実行制御には If-Match とともに ETags を使用します。RU メトリクスとスロットリング (HTTP 429) を監視し、SDK でジッターを含む再試行ポリシーを実装します。

グローバル分散と変更フィード

Cosmos DBのターンキーなマルチリージョン分散機能により、いつでもリージョンを追加または削除できます。すべてのリージョンは読み取り可能であり、マルチリージョン書き込みを有効にすると、近接リージョンにおいて99パーセンタイルで10ミリ秒未満の読み取りレイテンシで、あらゆる場所で同時に書き込みが可能になります。クライアントSDKは、トラフィックをローカルにルーティングし、正常にフェイルオーバーするために、優先リージョンで設定する必要があります。.NETでは、CosmosClientOptionsのApplicationPreferredRegions(または他のSDKの同等の機能)を介して優先リージョンを指定します。マルチリージョン書き込みには、競合解決ポリシーが必要です。

変更フィードは、論理パーティションキーごとに、順序付けられた追記専用の変更ログを提供します。以下のような用途に最適です。

実践的な問題シナリオ

Spotifyは、ユーザーのインタラクションをリアルタイムで取り込み、ユーザーごとのレコメンデーションを更新し、最も近いリージョンから低レイテンシで読み取りを提供する、グローバルに利用可能なパーソナライゼーションサービスを提供する必要があります。書き込みは世界中のモバイルクライアントから発生する可能性があり、レコメンデーションの更新はダウンストリームシステムにファンアウトする必要があります。

  1. マルチリージョン書き込みを備えたCosmos DB SQL (Core) APIを選択する
  1. 高カーディナリティのパーティションキーと階層キーを定義する
  1. プライマリコンテナーで自動スループットスケーリングを構成する
  1. アカウントレベルで整合性をSessionに設定する
  1. Azure FunctionsとChange Feed Processorで変更フィード処理を実装する
  1. カスタマイズされたインデックスポリシーを持つ派生recommendationsコンテナーを作成する
  1. SDKで優先リージョンを指定してグローバル分散を有効にする
  1. 競合解決と可観測性を構成する

このアーキテクチャは、グローバルな低レイテンシの読み書き、変更フィードによる回復力のあるイベント処理、コスト効率の高い自動スケーリング、およびパーソナライゼーションワークロードに適した堅牢な整合性セマンティクスを提供します。


Azure Storage と Blob Storage · すべてのドメイン · Azure コンテナーソリューション

これらの問題を練習する → · ExamRoll.ioで時間制限付き練習 →

Pass the whole exam — not just this question

You found this answer. Get every verified question and explanation in one place, and save hours of prep. Free to start.

試験に合格する →

Microsoftを閲覧 →

Related guides

オールインワンアクセス

1つのサブスクリプション。すべての試験。

すべてのプランで、無制限の回答検索、模擬試験、AI解説、および完全なリソースライブラリが利用可能 — 20以上の言語に対応。

月額
24.87
Just €0.83/day
すべて含まれています:
  • 無制限の回答検索
  • 無制限の模擬試験
  • AIを活用した解説
  • 完全なリソースライブラリ
  • 20以上の言語
  • 毎週のコンテンツ更新
  • 特典 & 紹介
  • 優先サポート
無料トライアルを開始

クレジットカード不要*

ベストバリュー
12ヶ月
179.87
Just €0.49/daySave 40%
すべて含まれています:
  • 無制限の回答検索
  • 無制限の模擬試験
  • AIを活用した解説
  • 完全なリソースライブラリ
  • 20以上の言語
  • 毎週のコンテンツ更新
  • 特典 & 紹介
  • 優先サポート
無料トライアルを開始

クレジットカード不要*

✓ 無料プランが含まれています · ✓ いつでもキャンセル可能 · ✓ すべてのプランで製品の全機能が利用可能