Dirty Read

Dirty Read Dirty Read 는 한 트랜잭션이 커밋하지 않은 변경을 다른 트랜잭션이 읽는 현상으로, 잘못된 집계·오판·롤백 후 부정합을 초래한다. 대부분의 실무에서는 정확성 우선 업무에는 금지하고, 로그·집계처럼 정확성 요구가 낮은 영역에만 제한적으로 허용한다. 완화책으로는 MVCC 기반 스냅샷 격리 (RCSI/SI), 읽기 전용 리플리카 (CQRS), 쿼리 힌트·화이트리스트 적용, 모니터링 및 재현 테스트가 있다. DB 엔진별 동작이 다르니 적용 전 반드시 벤더별 테스트와 정책 문서화를 수행하라. Dirty Read 개념·관계·실무 적용 Dirty Read 는 아직 확정되지 않은 (커밋되지 않은) 변경을 읽는 상황 을 말한다. 이로 인해 나중에 원 트랜잭션이 취소되면 읽은 값이 허위가 되어 잘못된 계산·보고가 발생할 수 있다. 따라서 대부분 운영 시스템은 기본적으로 Dirty Read 를 차단하는 READ COMMITTED 이상을 사용하고, 로그·모니터링 등 정확성에 덜 민감한 경로만 별도 복제본이나 스냅샷을 통해 읽도록 분리한다. ...

September 12, 2025 · 47 min · Me