동시성 제어
(병행 제어)
문제점 동시성제어 : 다중사용자환경에서트랜잭션을직렬화하여동시실행을지원하는제어기술
- 갱신내용손실(Lost Update), 현황파악오류(Dirty Read), 모순성(Inconsistency), 연쇄복귀불가(Cascading Rollback)
트랜잭션 시간순으로 암기 갱현모연
LDIC
토픽 이름 () 동시성 제어 문제점
분류 동시성 제어 > 문제점
키워드(암기) 다중사용자환경, 트랜잭션 직렬화, 갱신손실, 현황파악오류, 모순성, 연쇄복귀
암기법(해당경우) 갱현모연, 2낙타다 LDIC

 

기출문제

번호 문제 회차
1 다중 비전 동시성 제어(MVCC: Multi Version Concurrency Control) 111.정보관리.1.1
2 2. 데이터베이스 동시성 제어가 보장되지 않을 발생되는 문제점과 동시성 제어기법에 대해서 설명하시오. 합숙_2018.08
3 DB 트랜잭션에 대해 다음을 설명하시오.
  . DB 트랜잭션의 개념과 4가지 충족요건 설명
  . 트랜잭션 고립화의 수준과 낮은 트렌젝션 고립화로 발생하는 문제 설명
  . 트랜젝션 동시성 제어방법 설명
합숙_2013.07

 

I. 데이터베이스 무결성 확보를 위한 동시성 제어의 개요

. 동시성 제어의 정의

- 다중사용자환경을 지원하는 데이터베이스 시스템에서 여러 트랜잭션들이 ‘직렬성을 보장하고’, 성공적으로 동시에 실행될 있도록 지원하는 기능

- 다중사용자환경을 지원하는 DB system의경우 필수적으로 지원해야하는 기능으로 병행제어라고도

- 트랜잭션의 직렬화 수행보장

II. 동시성 제어를 하지 않은 경우 발생하는 문제점

문제점 개념도 설명
갱신손실
(Lost Update)

- 이전 트랜잭션이 데이터를 갱신한 트랜잭션을 종료하기 전에 나중 트랜잭션이 갱신 값을 덮어쓰는 경우 발생
현황파악오류
(Dirty Read)

-트랜잭션의 중간수행 결과를 다른 트랜잭션이 참조함으로써 발생하는 오류
모순성
(Inconsistency)

- 트랜잭션이 동시에 실행할 DB 일관성이 없는 상태로 남는문제
연쇄복귀
(Cascading Rollback)

-복수의 트랜잭션이 데이터공유시 특정트랜잭션이 처리를 취소할 경우 다른 트랜잭션이 처리한 부분에 대해 취소불가능

 

III. 동시성 제어 기법

문제점 설명
Locking 기법 - 트랜잭션이 사용하는 자원에 대하여 상호 배제(Mutual Exclusive) 기능을 제공하는 기법
- 상호배제는 특정 트랜잭션이 데이터 항목에 대하여 잠금(Lock)을 설정한 트랜잭션이 해제(unlock) 때까지 데이터를 독점적으로 사용할 있는
2PL
(Phase Lock)
- 모든 트랜잭션들이 Lock Unlock 연산을 확장 단계와 수축 단계로 구분하여 수행
- 확장단계 : 트랜잭션은 lock 수행할 있고, unlock 수행할 없는 단계
- 수축단계 : 트랜잭션은 unlock 수행할 있고, lock은 수행할 수 없는 단계
Timestamp - 시스템에서 생성하는 고유 번호인 시간 스탬프를 트랜잭션에 부여하는 것으로 트랜잭션 간의 순서를 미리 선택하는 것 (시스템 시계, 논리적 계수기 활용)
낙관적 검증
(Validation)
- 트랜잭션이 어떠한 검증도 수행하지 않고, 일단 트랜잭션을 수행하고, 트랜잭션 종료 검증을 수행하여 데이터베이스에 반영
다중버전 병행제어 - 하나의 데이터 아이템에 대해 여러 버전의 값 유지
- 트랜잭션의 타임스탬프와 접근하려는 데이터 아이템의 여러 버전의 타임스탬프를 비교하여, 현재 실행하고 있는 스케줄의 직렬가능성이 보장되는 적절한
반응형

+ Recent posts