Instiq
第2章 · Azure ストレージ向けの開発·v2.0.0·更新 2026/6/3·読了目安 約9分

変更要約: AZ-204 第2章を Associate 級に深掘り(比較表・シナリオ・FAQ・ひっかけ+深掘り段落、図を日本語化)

2.2Cosmos DB 向けの開発

この節の要点

Azure Cosmos DB のパーティションキー設計、スループット(RU/s・プロビジョンド/サーバーレス)、整合性レベル(強整合〜結果整合)、変更フィードといった開発を理解します。

グローバル分散・低遅延の NoSQL データベースが Azure Cosmos DB です。開発ではパーティションキー・RU/s・整合性レベルの理解が要です。

2.2.1キー・スループット・整合性

グローバル分散 NoSQL の Cosmos DB が、パーティションキー(データを分散・適切に選ぶ)、RU/s(スループット・プロビジョンド/サーバーレス)、整合性レベル(強整合〜結果整合)を持つことを示し、適切なキー選定・RU/s 課金・整合性のトレードオフを表した図。
Cosmos DB の要素
  • パーティションキー:データを物理的に分散させる鍵。偏らないよう設計し、ホットパーティションを避ける。
  • RU/s(リクエストユニット):スループットの単位。プロビジョンド(固定/自動スケール)とサーバーレスがある。
  • 整合性レベル強整合〜結果整合の5段階。強いほど正確だが遅延/コストが増える。
  • 変更フィード:コンテナの変更を時系列で取得し、イベント駆動処理(Functions 連携など)に使える。
試験ポイント

「分散の鍵=パーティションキー(偏りでホットパーティション/RU 超過)」「スループット=RU/s(断続的=サーバーレス)」「整合性は強整合〜結果整合のトレードオフ」「変更を時系列取得=変更フィード」 は AZ-204 で頻出です。

Cosmos DB はグローバル分散・低遅延の NoSQL です。設計の核は パーティションキー——カーディナリティが高く読み書きが均等に分散する値を選び、偏ると ホットパーティション や 429 を招きます。スループットは RU/s(リクエストユニット) で、プロビジョンド(手動/オートスケール・予測可能な負荷)か サーバーレス(断続的・使った分だけ)を選択、専用 RU とコンテナ間で共有する データベース共有 RU があります。整合性レベル強整合 / 有界整合性制約 / セッション(既定)/ 整合性のあるプレフィックス / 結果整合 の5段で、強いほど正確だが遅延/コスト増(セッションが多くのアプリで好バランス)。複数リージョン書き込み(マルチリージョン書き込み)でグローバルに低遅延化、API は NoSQL/MongoDB/Cassandra/Gremlin/Table を選べます。変更フィード でコンテナ変更を時系列取得し Functions 連携。429(TooManyRequests)は 指数バックオフでリトライ し、必要なら RU/キー設計を見直します。判断軸は「分散=パーティションキー」「断続負荷=サーバーレス」「整合性は遅延とのトレードオフ」「変更の取得=変更フィード」。

要件/課題対処
データを均等に分散高カーディナリティのパーティションキー
断続的な負荷でコスト最小サーバーレス
多くのアプリで好バランスセッション整合性(既定)
変更を時系列で処理変更フィード → Functions

シナリオ:グローバルな EC のカート。低遅延で、特定ユーザーに偏らせたくない。 パーティションキーは userId(高カーディナリティで分散)。負荷が読めないステージングは サーバーレス、本番は オートスケール RU/s。整合性は セッション(自分の書き込みは即読める)。在庫変更の波及は 変更フィード→Functions。429 はアプリで 指数バックオフし、続くなら RU/キーを見直します。

補足

Q. データ分散の鍵? パーティションキー(高カーディナリティ)。Q. 断続負荷で最小コスト? サーバーレス。Q. 既定の整合性は? セッション。Q. 変更を時系列処理? 変更フィード。Q. 429 の対処? 指数バックオフ+RU/キー見直し。Q. グローバル低遅延書き込み? マルチリージョン書き込み。

注意

混同に注意:
パーティションキーは後から変更困難——設計時にカーディナリティと分散を慎重に。
②偏るとホットパーティション/RU 超過(429)——均等分散するキーを選ぶ。
③整合性は「強いほど良い」ではない(遅延/コスト/可用性とのトレードオフ)。
④RU/s 不足は 429 の主因——オートスケールやキー見直しで対処。

コツ

RU 超過(429: TooManyRequests)はアプリ側で指数バックオフ付きリトライを行い、必要ならスループットやキー設計を見直します。

2.2.2この節のまとめ

  • パーティションキー(分散)/RU/s(スループット)/整合性レベル
  • 変更の時系列取得=変更フィード、429=バックオフ

進捗の記録にはログインが必要です。

理解度チェック

(軽い確認用)

Q1. Cosmos DB でデータを物理的に分散させ、性能を左右する設計要素はどれですか?

Q2. Cosmos DB のスループットを表す単位はどれですか?

Q3. コンテナの変更を時系列で取得し、イベント駆動処理に使う Cosmos DB の機能はどれですか?

理解度を確認第2章「Azure ストレージ向けの開発」の問題を解く