반응형
Optimistic Concurrency Control
트랜잭션 수행 동안은 어떠한 검사도 하지 않고,
트랜잭션 종료 시에 일괄적으로 검사하는 데이터베이스 병행제어 기법
- 트랜잭션 수행 동안 그 트랜잭션을 위해 유지되는 데이터 항목들의 지역 사본에 대해서만 갱신
- 트랜잭션 종료 시에 동시성을 위한 트랜잭션 직렬화가 검증되면 일시에 DB로 반영
- 장기 트랜잭션 철회시 자원낭비 가능성이 있어, 동시 사용 빈도가 낮은 시스템에서 주로 사용
과정 | 동작 |
Read Phase | 검증 없이 트랜잭션 수행 |
Validation Phase | 종료 시 동시성 검증 수행 |
Execution Phase |
문제 없을 시 기록, 동시성 문제 발견 시 철회 |
낙관적 병행제어(Optimistic Concurrency Control)
- 트랜잭션 수행 동안은 어떠한 검사도 하지 않고, 트랜잭션 종료 시에 일괄적으로 검사
- 트랜잭션 수행 동안 그 트랜잭션을 위해 유지되는 데이터 항목들의 지역 사본에 대해서만 갱신
- 트랜잭션 종료 시에 동시성을 위한 트랜잭션 직렬화가 검증되면 일시에 DB로 반영
cf. 비관적 병행제어
Pessimistic Concurrency Control
- '낙관적 병행제어'란 충돌이 있을 것을 가정한 기존 로킹 방식에 대한 다른 접근
- 기존의 로킹 방식 등은 '비관적 병행제어'로 분류 가능(해당 용어는 잘 사용하지 않음)
참고 자료
반응형
'정보관리기술사 > 데이터베이스' 카테고리의 다른 글
병행 제어(동시성 제어) 기법 - "락투타낙다" (0) | 2022.08.30 |
---|---|
병행 제어 기법 - 다중 버전 병행 제어(MVCC) (0) | 2022.08.23 |
병행 제어 기법 - 타임스탬프(Timestamp) (0) | 2022.08.23 |
병행 제어 기법 - 2PL(2Phase Locking) (0) | 2022.08.22 |
병행 제어 기법 - Locking (1) | 2022.08.22 |
댓글