変更要約: Professional Cloud Database Engineer 第4章を新規作成(ドメイン4「デプロイ HA」: プロビジョニングとテスト=HA プロビジョニング/IaC 自動化/フェイルオーバー演習/Cloud Monitoring 監視、マルチリージョナルレプリケーションとリードレプリカ=地域障害対策/読み書き分離/レプリケーション遅延の継続監視/Spanner ネイティブマルチリージョン)。
4.2マルチリージョナルレプリケーションとリードレプリカ
データベースのマルチリージョナルレプリケーションの設定、リードレプリカのデプロイとスケール、読み取りと書き込みの分離、そして高可用な構成全体の継続的な監視を理解します。
可用性とスケールを両立するには、地域をまたぐレプリケーションとリードレプリカを使い分けます。書き込みと読み取りの経路を設計します。
4.2.1マルチリージョナルレプリケーションとリードレプリカ
地域障害に備えるには マルチリージョナルレプリケーション でデータを別リージョンへ複製します(Spanner はネイティブにマルチリージョン構成)。読み取り負荷をさばくには リードレプリカ をデプロイ・スケールし、書き込みはプライマリ、読み取りはレプリカへ向ける 読み書き分離 を設計します。リードレプリカは可用性向上にも使えますが、HA の自動フェイルオーバーとは目的が異なる点に注意します。「読み取りスケール=リードレプリカ」「地域障害対策=マルチリージョナルレプリケーション」と結びます。
4.2.2構成全体の継続的な監視
マルチリージョン/リードレプリカ構成は、継続的に監視 します:各レプリカの レプリケーション遅延、リードレプリカの負荷分散、フェイルオーバーの準備状態を Cloud Monitoring で見ます。遅延が大きいと、フェイルオーバー時のデータ損失や、リードレプリカから古い値を読むリスクが高まります。「レプリカの遅延と負荷を継続監視」を押さえます。
「要件 → 手段」が頻出。例:「読み取り負荷を分散」=リードレプリカ(読み書き分離)、「地域障害に備えて複製」=マルチリージョナルレプリケーション、「フェイルオーバー時のデータ損失を抑える」=レプリケーション遅延を監視・低減、「グローバルにネイティブな強整合マルチリージョン」=Spanner。
混同に注意:
①リードレプリカ(読み取りスケール)と HA スタンバイ(自動フェイルオーバー)は目的が違う。
②リードレプリカは遅延で古い値を返し得る(強整合が要るならプライマリ)。
③マルチリージョンは遅延とコストが増える=要件で選ぶ。
4.2.3この節のまとめ
- 地域障害対策=マルチリージョナルレプリケーション(Spanner はネイティブ)
- 読み取りスケール=リードレプリカ+読み書き分離(HA スタンバイとは別目的)
- レプリケーション遅延と負荷を Cloud Monitoring で継続監視
進捗の記録にはログインが必要です。
理解度チェック
(軽い確認用)Q1. 読み取り負荷を分散しつつ書き込みはプライマリに集約したい。最適な方法はどれですか?
Q2. 地域全体の障害に備えてデータを別リージョンへ複製したい。最適なのはどれですか?
Q3. リードレプリカと HA スタンバイの違いとして正しいものはどれですか?
Q4. リードレプリカから読むときに注意すべきことはどれですか?
Q5. マルチリージョン/リードレプリカ構成で継続的に監視すべき指標はどれですか?
Q6. グローバルにネイティブな強整合のマルチリージョン構成を取れる RDB はどれですか?

