DB設計
この本を読んでいる。
バックアップやリカバリについて勉強した。
バックアップには完全、増分、差分の3種類の方法があることを知った。
以下の3種類の方法でリストア(ファイルの再配置)をする。
- 完全バックアップのみ
- 完全バックアップ+増分バックアップ
- 完全バックアップ+差分バックアップ
バックアップファイルのみで障害復旧できるわけではなく、トランザクションファイルが必要になる。
例)毎日22時にバックアップを作成するが、翌日の13時に障害が起きた場合前日の22時までしかバックアップファイルでは復旧できない。
ここで登場するのがトランザクションファイルで、これを使うことでクエリのログをリプレイし障害が起きた時点まで復旧ができる。
PostgreSQLでは差分バックアップはサポートしていない。
PostgreSQLでは初回は完全バックアップで2回目以降は増分バックアップ。 Cloud SQL バックアップの概要 | Cloud SQL for MySQL | Google Cloud Documentation
https://docs.cloud.google.com/sql/docs/postgres/backup-recovery/backups?hl=ja
WAL(Write Ahead Logging)というトランザクションログをコミット前に残す手法がある。
【PostgreSQL】先行書き込みログ(WAL)について理解を深める #PostgreSQL - Qiita
WALにより任意時点へ復元が可能になる(PITR、ポイントインタイムリカバリ)。
ポイントインタイム リカバリ(PITR)を実行する | Cloud SQL for PostgreSQL | Google Cloud Documentation