13장. 트랜잭션·동시성·회복
정보처리기사 필기 개념서 · 3과목. 데이터베이스 구축 · 절 5개
이 장에서 배우는 것
13-1. 트랜잭션과 ACID
트랜잭션: DB의 상태를 변화시키는 하나의 논리적 작업 단위. 한꺼번에 모두 수행되어야 할 일련의 연산(예: 계좌 이체의 출금 + 입금)
13-2. 병행 제어가 없을 때의 문제
예제 13-1. 잔액 X = 100. T1은 X에 30을 더하고, T2는 X에서 20을 뺀다. 아래 순서로 실행되면 최종 X는? 풀이
13-3. 병행 제어 기법
직렬 가능성: 트랜잭션들을 병행 실행한 결과가 어떤 직렬(하나씩 순서대로) 실행 결과와 같으면 올바른 스케줄로 본다
13-4. 회복 기법
회복: 장애로 손상된 DB를 손상 이전의 정상 상태로 복구. 핵심 도구는 로그(갱신 전 값·갱신 후 값 기록)와 백업
13-5. 교착상태 (Deadlock)
둘 이상의 트랜잭션이 서로가 가진 락을 기다리며 무한 대기하는 상태. 발생 4조건: 상호 배제, 점유와 대기, 비선점, 환형 대기 (네 조건이 모두 성립해야 발생)