DP-900Azure の非リレーショナル データHARD単一選択

ある航空会社が、世界 12 か国の空港カウンターで座席予約を管理している。座席の二重予約を防ぐために、任意のリージョンで書き込みが発生しても他のリージョンで即座に最新の空席状況が見えることが必須である。一方で、レイテンシの増加は最小限に抑えたい。Azure Cosmos DB の整合性レベルとしてどれを選択すべきか。

  1. A. 厳密(Strong)整合性 — 全リージョンで常に最新値を保証するが、マルチリージョン書き込みでは書き込みレイテンシが大幅に増加する
  2. B. 有界整合性制約(Bounded Staleness)— 書き込み後 K 操作以内の遅延を許容するが、即座の反映は保証されない
  3. C. 最終的(Eventual)整合性 — 最もレイテンシが低いが、二重予約防止には不十分である
  4. D. セッション(Session)整合性 — 同一セッション内での一貫性は保証されるが、他セッションでは古いデータが見える可能性がある
解答と解説を見る

正解: A

座席の二重予約防止は「どのリージョンからの読み取りでも常に最新のコミット済み状態を見る」ことが必要で、これは厳密(Strong)整合性のみが保証できる。厳密整合性では書き込みが全レプリカにコミットされてから応答が返るため、どのリージョンでも常に最新値を読み取れる。マルチリージョン書き込みでのレイテンシ増加は避けられないが、二重予約という重大なビジネス損失を防ぐためにはトレードオフとして許容すべきである。選択肢 C の最終的整合性では書き込み直後に別リージョンで古い空席情報を読み取る可能性があり、二重予約が発生する。選択肢 D のセッション整合性は自分のセッションの書き込みは読み取れるが、別の担当者(別セッション)の予約が即座に反映されないため二重予約を防げない。選択肢 B の有界整合性制約は K 操作以内の遅延を許容するため、その遅延中に別リージョンで二重予約が発生する可能性がある。

▸ この試験を本気で演習する(全150問・無料)