병행제어
여러 트랜잭션이 동시에 실행되면서 데이터베이스의 일관성이 유지되도록 제어하는 방법
병행제어의 문제점
| 갱신손실 (Lost Update) | 트랜잭션이 같은 데이터를 공유하여 갱신할때 일부 갱신결과과 손실됨 | |
| 비완료 의존성 (Uncommitted Dependency) |
실패한 트랜잭션이 회복도 안됬는데 다른 트랜잭션이 그 결과를 참조함 | |
| 모순성 (Inconsistency) | 병행수행중인데 원하지 않는 자료를 사용해서 데이터의 일관성 결여 | |
| 연쇄복귀 ( Cascading Rollback) | 트랜잭션이 실패해 롤백되면 다른 트랜잭션도 함께 롤백되는 현상 | |
병행제어 기법
| 로킹 (Locking) | 로킹된 데이터에 다른 트랜젝션이 접근할 수 없게 해주는 기법 - 로킹단위가 크면 로크수 적어짐/병행성 낮아짐/오버헤드 감소 - 로킹단위가 작으면 로크수 많아짐/병행성 높아짐/오버헤드 증가 |
|
| 2단계 로킹 기법 (Two-Phase Locking Protocol) |
확장단계: 새로운 락 획득, 보유한 락 해제불가 축소단계: 새로운 락 획득불가, 보유한 락 해제가능 |
|
| 타임스탬프(Time Stamp) | 데이터에 접근하는 시간을 미리 정해 순서대로 접근하는 기법 | |
| 낙관적 병행제어 | 종료 시 일괄적으로 검사 후 검증시 DB반영 | |
| 다중 버전 병행제어 | 직렬가능성이 보장되는 타임스탬프를 비교하여 선택 | |
반응형
'Study' 카테고리의 다른 글
| [정보처리기사 실기] 객체지향 설계의 SOLID 원칙 정리 (0) | 2025.10.24 |
|---|---|
| 정보처리기사_네트워크 정리 한눈에 보기 (실기대비핵심요약) (0) | 2025.10.23 |
| 정보처리기사_네트워크보안 용어 정리 (실기대비 핵심요약) (0) | 2025.10.23 |
| 데이터베이스 정규화 (0) | 2024.10.08 |