피드로 돌아가기
Dev.toDatabase
원문 읽기
데이터베이스가 COMMIT 후 시스템 재시작 시에도 데이터를 유지하는 Durability 메커니즘
CA 37 – Durability (ACID)
AI 요약
Context
DATA 손실 가능성이 존재했다. 시스템이 충돌하거나 재시작되면 저장되지 않은 변경사항이 사라질 수 있었다.
Technical Solution
- 트랜잭션을 BEGIN으로 시작하고 COMMIT으로 완료: 여러 UPDATE 작업을 하나의 원자적 단위로 묶어서 처리
- COMMIT 시점에 데이터를 디스크나 로그에 저장: 메모리에만 존재하던 변경사항을 영구 저장소에 기록
- COMMIT 전 충돌 시 변경사항 미적용: 시스템 재시작 전에 COMMIT되지 않은 작업은 반영되지 않음
- COMMIT 후 충돌 시 데이터 보존: 시스템 재시작 후에도 COMMIT된 데이터는 그대로 유지됨
Key Takeaway
DATA의 Durability는 COMMIT 시점에 시스템이 변경사항을 물리적 저장소에 기록함으로써 보장된다. COMMIT 이전과 이후의 명확한 경계가 ACID 속성 중 Durability의 핵심이다.
실천 포인트
데이터베이스를 사용하는 애플리케이션에서 금전 이체나 인벤토리 감소 같은 중요한 작업을 처리할 때, 명시적으로 COMMIT을 실행함으로써 시스템 장애 발생 시에도 데이터 일관성을 보장할 수 있다.