<aside> 📌
특성 | 설명 |
---|---|
Atomicity | |
(원자성) | - 트랜잭션을 구성하는 연산 전체가 모두 정상적으로 실행되거나 모두 취소되어야 하는 성질 |
명령어 | 핵심 | 설명 |
---|---|---|
커밋(COMMIT) | 트랜잭션 확정 | 트랜잭션을 메모리에 영구적으로 저장하는 명령어 |
롤백(ROLLBACK) | 트랜잭션 취소 | 트랜잭션 내역을 저장 무효화시키는 명령어 |
체크포인트(CHECKPOINT) | 저장 시기 설정 | ROLLBACK을 위한 시점을 지정하는 명령어 |
다수 사용자 환경에서 여러 트랜잭션을 수행할 때, 데이터베이스 일관성 유지를 위해 상호 작용을 제어하는 기법.
병행 제어 미보장 시 문제점
| 갱신 손실
(Lost Update) | 먼저 실행된 트랜잭션의 결과를 나중에 실행된 트랜잭션이 덮어쓸 때 발생하는 오류. |
---|---|
현황 파악오류 | |
(Dirty Read) | 트랜잭션의 중간 수행 결과를 다른 트랜잭션이 참조하여 발생하는 오류. |
모순성 | |
(Inconsistency) | 두 트랜잭션이 동시에 실행되어 데이터베이스의 일관성이 결여되는 오류. |
연쇄복귀 | |
(Cascading Rollback) | 복수의 트랜잭션이 데이터 공유 시 특정 트랜잭션이 처리를 취소할 경우 트랜잭션이 처리하나 곳의 부분을 취소하지 못하는 오류. |
병행 제어 기법의 종류 [로낙타다]
로그 기반 회복 기법
| 지연 갱신 회복 기법
(Deferred Update) | 트랜잭션이 완료되기 전까지 데이터베이스에 기록하지 않는 기법. |
---|---|
즉각 갱신 회복 기법 | |
(Immediate Update) | 트랜잭션 수행 중 갱신 결과를 바로 DB에 반영하는 기법. |
체크 포인트 회복 기법 (Checkpoint Recovery)
그림자 페이징 회복 기법 (Shadow Paging Recovery)