체크포인트는 데이터베이스의 복구 진행 기준을 마련하기 위해 메모리의 변경 상태를 저장 장치에 반영하는 과정과 그 기준점을 가리킨다.
원리
PostgreSQL은 변경된 버퍼의 쓰기를 분산해 수행하고 복구에 필요한 로그 범위를 관리한다. 체크포인트 주기는 입출력 부담과 복구 시간에 영향을 준다.
데이터베이스 내부 |
|---|
WAL · 체크포인트 · MVCC · 트랜잭션 격리 수준 · 읽기 커밋 |
데이터베이스 교착 상태 · 비관적 잠금 · 파티셔닝 · 시점 복구 · 데이터베이스 백업 |
예시
체크포인트가 너무 자주 발생하면 쓰기 부하가 증가하고, 간격이 길면 장애 뒤 재실행할 로그가 늘어날 수 있다.
데이터베이스 | |
|---|---|
관계형 | MySQL · PostgreSQL · MariaDB · SQLite |
NoSQL | |
스토리지 엔진 | |
주의할 점
체크포인트는 사용자 트랜잭션의 커밋이나 완전한 백업과 동일하지 않다. 설정값을 바꿀 때에는 실제 쓰기량과 저장 장치 지연을 함께 측정한다.