Azureサービス深掘り応用

Cosmos DBで強い一貫性(Strong Consistency)を構成して3リージョンでレプリケーションしていたシステムで、プライマリリージョンへの一時的なネットワーク障害が発生しました。このシナリオにおいて、クライアントアプリケーションのWrite操作に対してどのような動作が起きますか?

A.強い一貫性ではプライマリリージョンから複数リージョンへの同期確認が必須なため、プライマリ障害時はWrite操作がタイムアウトまたは失敗する← 正解
✓ 正解です。強い一貫性ではクライアント書き込み時にプライマリとレプリカ群での同期が必須です。プライマリ障害時はRTO内で復旧するまでWrite操作は失敗します。
B.強い一貫性であっても、セカンダリリージョンが自動的にプライマリに昇格し、Write操作は継続されるため、ユーザーには影響がない
✗ Cosmos DBは自動フェイルオーバーをサポートしますが、強い一貫性モードではセカンダリへの自動昇格時にRPOゼロを保証できないため、Writeは制限されます。
C.プライマリ障害時に強い一貫性を維持するため、システムは自動的に弱い一貫性に降格し、Write操作は継続される
✗ 一貫性レベルを自動的に降格する仕組みはありません。アプリケーション側で明示的に処理する必要があります。
D.強い一貫性ではquorumベースの投票で過半数のリージョンに書き込み確認が取れれば成功するため、1リージョン障害では影響がない
✗ Cosmos DBの強い一貫性はクォーラムモデルではなく、すべてのレプリカへの同期を要求します。記述は誤りです。

この問題のポイント

強い一貫性ではクライアント書き込み時にプライマリとレプリカ群での同期が必須です。プライマリ障害時はRTO内で復旧するまでWrite操作は失敗します。

DP-900:Microsoft Azure Data Fundamentals の問題一覧