로딩
요청 처리 중입니다...

트랜잭션 (2)

 트랜잭션 (2)

완화된 격리 수준 두 트랜잭션이 동일한 데이터에 접근하지 않으면 서로 의존하지 않기에 안전하게 병렬로 실행 가능 동시성 문제는 트랜잭션이 다른 트랜잭션에서 동시에 변경한 데이터를 읽거나 두 트랜잭션이 동시에 같은 데이터를 변경하려고 할 때만 발생함 동시성 문제는 테스트로 발견하기 어렵고 재현하기도 어렵고 추론하기도 어렵다. 데이터베이스는 트랜잭션 격리를 제공해서 개발자들에게 동시성 문제를 감추려고 함 어떤 동시성 이슈로부터는 보호해 주지만 모든 이슈로부터 보호해 주지는 않는 완화된 격리 수준을 사용하는 시스템이 흔함 -> 이로 인해서 많은 문제 발생 맹목적으로 도구에 의존하는 것보다 존재하는 동시성 문제의 종류를 이해해서 방지하는 방법을 배우는 게 중요함 커밋 후 읽기 (read committed) 가장 기본적인 수준의 트랜잭션 격리인 커밋 후 읽기다.

데이터베이스에서 읽을 때 커밋된 데이터만 보게 됨(Dirty Read가 없음) 데이터베이스에서 쓸 때 커밋된 데이터만 덮어쓰게 됨 ...

# 격리수준 # 더티리드 # 더티쓰기 # 스냅숏 # 커밋후읽기 # 트랜잭션

원문 링크 : 트랜잭션 (2)