Choose a default theme

You can change your theme from the menu

트랜잭션 격리 수준

트랜잭션 격리 수준은 동시에 실행되는 트랜잭션 사이에서 어떤 읽기와 결과를 허용할지 정하는 보장 수준이다.

원리

읽기 미커밋·읽기 커밋·반복 읽기·직렬화 가능 등이 대표적이다. 같은 이름이라도 데이터베이스 구현이 더 강한 보장을 제공할 수 있다.

예시

PostgreSQL의 반복 읽기는 같은 트랜잭션의 스냅샷을 유지하고 팬텀 읽기도 방지하지만 모든 직렬화 이상을 막지는 않는다.

데이터베이스

관계형

MySQL · PostgreSQL · MariaDB · SQLite

NoSQL

Redis · MongoDB · Apache Cassandra

스토리지 엔진

InnoDB · RocksDB · MyRocks

주의할 점

강한 격리는 대기나 실패 후 재시도 비용을 만들 수 있다. 이름만 선택하지 말고 실제로 지켜야 할 업무 불변식과 동시 실행 예시로 검증한다.

참고 자료