3 가지 접근, 3 가지 트레이드오프
Production SQLite 는 진짜 데이터 갖기 전 백업 전략 필요. Viable 한 3 가지:
- Cold 백업 — writer 멈추고 파일 복사. 가장 단순, downtime 필요.
- Online 백업 —
sqlite3 source.db ".backup target.db"또는 C-levelsqlite3_backupAPI. Writer 활성 상태에서 동작; consistent snapshot 생성. - Streaming 백업 — Litestream/LiteFS/Turso 가 WAL 을 S3/peer/매니지드 서비스에 continuously replicate. 최근 어느 시점이든 recovery.
개인 제품 (피파, 사이드 프로젝트) 면 NAS 또는 S3 에 시간당 한 번 online 백업이 99% 재해 cover. 다중 유저 제품이면 Litestream 이 시간 대신 분 단위 데이터 손실로 point-in-time recovery 줘.
Warning: Restore 안 한 백업은 백업 아냐. 어떤 백업 setup 도 신뢰하기 전 다른 머신에 full restore drill. 진짜 incident 동안에야 백업이 corrupt/incomplete 알게 되는 제품 수가 거대.