Computer-Science

Concurrency Control (병행 제어)

여러 트랜잭션들이 동시에 실행되면서도 데이터베이스의 일관성을 유지할 수 있게 하는 기법

  트랜잭션 1 트랜잭션 2 발생하는 문제들 동시 접근
case 1 read read 문제 없음 허용
case 2 read write - Dirty read
- Non-repeatable read
- Phantom read
허용 또는 불가 선택
case 3 write write - Lost Update
- Inconsistency
- Cascading rollback
lock을 이용하여 제한적으로 허용

병행제어 실패 현상

무제어 동시 공용의 문제점

직렬 가능성

직렬 가능성 이론 이용

병행제어 기법

Type of Violation

Isolation Level Dirty Read Nonrepeatable Read Phantom
READ UNCOMMITTED Yes Yes Yes
READ COMMITTED No Yes Yes
REPEATABLE READ No No Yes
SERIALIZABLE No No No

References

  1. Fundamentals of Database Systems 7th Edition by Ramez Elmasri, Shamkant B. Navathe.
  2. https://itwiki.kr/w/%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B2%A0%EC%9D%B4%EC%8A%A4_%EB%B3%91%ED%96%89%EC%A0%9C%EC%96%B4