Learning
토픽 161 / 201·NewSQL 및 특수 목적 DB

PITR (Point-in-Time Recovery)

PITR (Point-in-Time Recovery)

데이터베이스를 특정 시점(초 단위)으로 복구하는 기능으로, 전체 백업과 트랜잭션 로그(WAL/Binlog)를 조합하여 장애 발생 직전 또는 원하는 시점으로 데이터를 복원

목적: 정밀한 시점 복구, 데이터 손실 최소화, 인적 오류 복구, 재해 복구

특징: 초 단위 복구, 전체 백업+로그 조합, 연속적 복구 가능, RPO 최소화

동작 원리

DBMS별 구현

  • PostgreSQL: pg_basebackup + WAL 아카이빙, recovery_target_time
  • MySQL: mysqldump/xtrabackup + Binlog, mysqlbinlog --stop-datetime
  • Oracle: RMAN + Archive Log, RECOVER DATABASE UNTIL TIME
  • SQL Server: Full Backup + Transaction Log, RESTORE ... STOPAT

구성 요소

  • Base Backup: 전체/증분 백업, 복구 시작점
  • Transaction Log: WAL(PostgreSQL), Binlog(MySQL), Archive Log(Oracle)
  • Recovery Target: 복구 목표 시점(시간, LSN, 트랜잭션 ID)

장점: 정밀한 복구, 데이터 손실 최소화, 인적 오류 대응, 유연한 복구 시점

단점: 로그 저장 공간 필요, 복구 시간 증가(로그 양에 비례), 설정 복잡도

적용사례: 금융 시스템, 실수로 인한 DELETE 복구, 랜섬웨어 대응, 규제 준수

기술요소: WAL, Binlog, Archive Log, Base Backup, Recovery Target

비교: PITR(초 단위 복구) vs Full Backup(전체 복원) vs Snapshot(특정 시점 이미지)

연관: 백업/복구, WAL, Binlog, RPO, RTO, 재해 복구