過去問ドリル

LinuCレベル4 システムアーキテクト 可用性の設計 問10

可用性の設計/データレプリケーションと災害対策

PostgreSQLで運用中のシステムを、停止時間をできるだけ短くして新しいメジャーバージョンへ移行したい。あわせて、移行先へは業務で使う一部のテーブルだけを複製したい。この要件に合うレプリケーション方式として最も適切なものはどれか。

当サイトのオリジナル問題(LinuCレベル4 システムアーキテクトの出題範囲「可用性の設計」に対応。実際の試験問題ではありません)

正解:D

解説

ロジカルレプリケーションは、データの変更を論理的な単位で複製する方式で、パブリケーションに含めるテーブルを選べるうえ、異なるメジャーバージョン間でも複製できます。そのため、新バージョンのサーバーへ対象テーブルを複製して差分を追従させ、追いついた時点で接続先を切り替えれば、停止時間の短いメジャーバージョンアップが可能です。一方、ストリーミングレプリケーションはWALをそのまま適用する物理的な複製で、データベースクラスタ全体が対象になり、同じメジャーバージョンの間でしか使えません。ダンプとリストアは確実ですが、データ量に応じて停止時間が長くなります。

選択肢ごとの解説

  • A誤り。ストリーミングレプリケーションは物理的な複製のため、異なるメジャーバージョンのスタンバイは作れず、テーブル単位の選択もできません。
  • B誤り。同期モードはデータ損失を防ぐための設定で、メジャーバージョンの違いやテーブル単位での複製という要件は解決しません。
  • C誤り。確実な方法ですが、ダンプとリストアの間はサービスを止める必要があり、データ量が多いと停止時間が長くなります。
  • D正しい。ロジカルレプリケーションはテーブルを選んで複製でき、異なるメジャーバージョン間でも使えるため、短い停止での移行に適します。
LinuCレベル4 システムアーキテクトの問題を演習モードで解く