정보처리기사/필기
과목3 - 데이터베이스 : 병행제어
공부하고 기록하고 다시보는 블로그
2025. 1. 31. 17:02
- 병행제어 : 여러 명의 사용자가 동시 데이터베이스 사용시 문제없이 사용하도록하는 것
- 트랜잭션 : 작업 단위
- 병행제어 목적
- 데이터베리스 일관성 유지
- 데이터베이스 공유 최대화
- 시스템 활용도 최대화
- 사용자에 대한 응답시간 최소화
- 병행제어 기법
- 다중 버전 기법
- 최적 병행 수행
- 잠금 기법 - Locking
- 특정 트랜잭션이 데이터베이스를 접근하는 동안 다른 트랜잭션이 접근하지 못하도록함
- 무결성과 일관성을 유지하도록하기 위함
- 성능과 동시성 제어에 중요한 역할
- 예제 : C는 계좌이체가 끝나는 UNLOCK때까지 그대로 데이터를 보여주고, 실시간으로 보여주지는 않음
- 잠금 단위
- 잠금 단위가 클수록 관리가 쉽지만, 병행성 수준은 낮아지고 오버헤드가 감소한다. 그리고 데이터베이스 공유도는 감소
- 잠금 단위가 작을수록 관리가 어렵고, 병행 수준은 높아지고, 오버헤드는 증가한다. 그리고 데이터베이스 공유도는 증가
- 용어
- 오버헤드 자원(메모리, 성능)
- 병행 수준 - 여러 유저가 동시애 사용하는것
- 데이터베이스 공유
- 용어
- 특정 트랜잭션이 데이터베이스를 접근하는 동안 다른 트랜잭션이 접근하지 못하도록함
- 타임스팸프 기법
- 트랜잭션의 실행 순서를 관리하는 기법
- 충돌을 방지하고 직렬성을 유지함
- 은행에서 원금과 이자낼때... 은행마다 선입금 하는 시간이 순차적이고 사용자마다 시간을 보관하여 회수됨(시간 순대로)
- 트랜잭션의 실행 순서를 관리하는 기법
- 회복
- 로그 기반회복 - 변경사항을 log남기기
- 즉시갱신
- 지연갱신
- 체크포인트 - savepoint
- 로그 기반회복 - 변경사항을 log남기기
- 병행제어 목적
- 트랜잭션 : 작업 단위