Azure Blob Storageの説明ページにある冗長性について、それぞれの違いを解説します。
前置き
まず日本があります。
東京・埼玉のどこかにデータセンターがあります。(画像クリックで拡大できます)
データセンターは同じリージョンにいくつかあります。
大阪リージョンにもデータセンターがいくつかあります。
つまりこの図のラックの集まり一つ一つはデータセンターを表しています。
この図のデータセンターの集まりは、東京と大阪のリージョンを表しています。
説明
それでは各冗長性について説明していきます。
ローカル冗長ストレージ (LRS)
データは一つのデータセンター内で同期的に3重化されます。サーバーラックやドライブ単位の障害には耐えられますが、火災や洪水などの災害でデータ消失の可能性があります。
オレンジ色で塗ってある所がデータの保存場所を表しています。
ゾーン冗長ストレージ (ZRS)
データは同じリージョン内の複数のデータセンターで同期的に3重化されます。リージョン全域に継続的な障害が発生するとデータ消失の可能性があります。
geo 冗長ストレージ (GRS)
データは一つのデータセンター内で同期的に3重化されます。さらにセカンダリリージョンへ非同期的にレプリケートされます。セカンダリリージョンのデータは正常時にはアクセスすることはできません。隕石とか落っこちてきて日本が沈没したらデータ消失の可能性があります。多分私の命も消失します。
青で塗ってある所がコールドスタンバイでデータ保存されていることを表しています。
geo ゾーン冗長ストレージ (GZRS)
データは同じリージョン内の複数のデータセンターで同期的に3重化されます。さらにセカンダリリージョンへ非同期的にレプリケートされます。セカンダリリージョンのデータは正常時にはアクセスすることはできません。名前からも分かるようにZRSとGRSの組み合わせです。
読み取りアクセス geo 冗長ストレージ (RA-GRS)
GRSと同じですがセカンダリリージョンのデータへ正常時でも読み取り専用でアクセスできます。セカンダリリージョンのデータを使ってプライマリリージョンへ負荷をかけずに集計処理を実施したりできます。
読み取りアクセス geo ゾーン冗長ストレージ (RA-GZRS)
GZRSと同じですがセカンダリリージョンのデータへ正常時でも読み取り専用でアクセスできます。RA-GRSと同様にセカンダリリージョンのデータを使ってプライマリリージョンへ負荷をかけずに集計処理を実施したりできます。