4차 정규화 [정의]한관계에둘이상의독립적다중값속성이존재하여릴레이션을분해하는과정
다치종속(MVD; Multi-Valued Dependency)이발생
주의: A - B(double arrow를사용함)
A의여러개속성이 B를결정한다는의미
다치: 여러 개의 값
토픽 이름 (출제예상) 4차정규화
분류 DB > 정규화 > 4차정규화
키워드(암기) 다치종속(MVD), 이상현상, 이중화살표
암기법(해당경우) 프로기사(프로젝트,기술,사원)

 

기출문제

번호 문제 회차
1 5. 4차정규화에 대해서 설명하시오 모의.2017.07
2 4. 다음의 사원테이블을 4 정규화까지 수행하시오

모의.2017.12

 

I. 다치종속 제거, 4 정규화 개요

- 정의: 보이스-코드 정규형에서 다중값 종속성(다치 종속성) 제거하는 데이터 구조화 기법

- 릴레이션에 이상의 다치 종속(MVD; Multi-Valued Dependency) 발생, 이를 제거하는 과정

- 하나의 결정자가 다른 어트리뷰트의 값 하나를 결정하는 것이 아니라, 개의 , 값의 집합을 결정하는 속성

- 함수 종속은 다치 종속의 일종이나, 함수 종속과 달리 머리가 개인 이중 화살표(double arrow) 표기

- A B , A B 다치 결정한다고 말하고, 다른 말로는 B A 다치 종속된다고 말함 

 

II. 4 정규화 과정 설명

- 사원->>프로젝트, 사원 ->>기술

- 사원-프로젝트, 사원-기술 간에는 관련 있으나, 프로젝트-기술 간에는 관계없음.

- 사원이 기술사 자격증 취득하면 프로젝트 코드도 삽입해야 하는 이상현상 발생.

 . 이상현상 발생

구분 역 할
입력 이상
 
수정 이상
 
삭제 이상
 

 

. 이상현상 발생원인과 해결방법

발생 원인 해결 방법
한 테이블 안에 종속적 관계가 두 개 이상 존재 상호관계가 있는 속성끼리 분리시킴 (4차 정규화 수행)

 

. 정규화 수행 후 모델

- 릴레이션 분리하여 다치종속성 제거.

 

III. 4 정규화 수행 효과

효과 내용
데이터 무결성 확보 입력, 수정, 삭제 발생한 이상현상 제거로 데이터 무결성 유지가 가능해짐
성능 향상 불필요 데이터 줄임으로써 성능향상
업무흐름 이해 명확 업무 규칙에 따른 모델 표현으로 업무 흐름 표기가 정확해짐에 따라 커뮤니케이션 효율성 증대
반응형

'정보관리기술사 > DB_데이터분석' 카테고리의 다른 글

NoSQL(CAP이론)  (0) 2023.08.19
5차 정규화  (0) 2023.08.18
BNCF(3.5NF)  (0) 2023.08.16
3차 정규화  (0) 2023.08.12
2차 정규화  (0) 2023.08.11
  BCNF(3.5NF) Relation R의모든결정자가후보키경우결정자함수종속성제거
- 결정자에서함수적관계가있다면 Table 분리
결정자함수 종속 제거
슈퍼키
토픽 이름 () BCNF(3.5NF)
분류 DB > 정규화 > BCNF(3.5NF)
키워드(암기) 결정자 함수 종속성 제거, 이상현상방지
암기법(해당경우)  

 

기출문제

번호 문제 회차
1 1. 아래의 스키마(Schema)와 함수종속성(FD:Fuctional Dependency) 이용하여 함수종속도표(Funcional Dependency Diagram) 작성한 , (Key) 찾아내는 과정을 설명하고, BCNF(Boyce-Codd Normal Form) 정의를 기술하고 조건을 만족시키는 테이블을 설계하시오


대출스키마(지점명, 자산, 장소, 대출번호, 고객명, 금액)
FD : 지점명 -> 자산                 지점명 -> 장소
    대출번호 -> 지점명              대출번호 -> 금액
105.정보관리.3.1
2 BCNF(Boyce/Code Normal Form) 80.정보관리1.

 

I. 결정자 함수 종속성 제거, BCNF(3.5NF) 개요

. BCNF (Boyce-Code Normal Form) 정의

- 관계 R이 제3정규화 만족한 상태에서, 모든 결정자가 후보키가 되도록, 결정자 함수 종속성 제거하는 데이터 구조화 기법

. BCNF 정규화 수행목적

 -이상현상 방지: 후보키가 아니면서 결정자인 속성이 존재하는 경우 발생하는 이상현상 방지 목적 수행

 

. BCNF 정규화 과정

. BCNF 사례와 사례 초기 테이블

. 이상현상 해결방안

III. 기출문제 풀이

요령: 초기 ERD 그리고 -> FD 적용하고, 테이블 분리 추천

반응형

'정보관리기술사 > DB_데이터분석' 카테고리의 다른 글

5차 정규화  (0) 2023.08.18
4차 정규화  (0) 2023.08.17
3차 정규화  (0) 2023.08.12
2차 정규화  (0) 2023.08.11
1차 정규화  (0) 2023.08.10
3차 정규화 [정의] 릴레이션이제2정규형에속하고, 기본키가아닌모든속성이기본키에이행적함수종속이되지않으면제3정규형
이상현상사례기술준비
이행함수종속제거

 

 

 

 

 

 

토픽 이름 () 3차정규화
분류 DB > 정규화 > 3차정규화
키워드(암기) 속성들 간 함수적 종속성(Dependency), 2NF 이상현상
암기법(해당경우)  

 

기출문제

번호 문제 회차
1 6. 다음은 컴퓨터에서 사용되는 제품에 대해 여러 개의 주문서가 접수된 내용을 보여주는 "주문목록" 초기 테이블이다. 각각의 물음에 답하시오.
  . 1차 정규화된 테이블과 E-R 다이어그램을 표현하시오.
  . 2차 정규화된 테이블과 E-R 다이어그램을 표현하시오.
  . 3차 정규화된 테이블과 E-R 다이어그램을 표현하시오.
111.컴시응.3.6

 

I. 의존자에서의 FD 인한 이상현상제거, 3 정규화(Normalization) 개요

. 3 정규화(3 Normalization)의 정의

- 어떤 릴레이션 R2정규형(2NF)일 때, 모든 일반 속성의 기본키에 대한 이행적 함수 종속성 제거하는 데이터 구조화 기법

- 2NF이고, 키가 아닌 모든 애트리뷰트들이 기본키에 이행적 함수 종속되지 않음

 

II. 3 정규화(Normalization) 사례

. 사례

- 주문 테이블에서, 일반속성의 함수적 종속관계로, 삽입, 삭제, 갱신이상 현상 발생

 

. 해결 ERD

- 주문 테이블을 주문과 고객 테이블로 분리

반응형

'정보관리기술사 > DB_데이터분석' 카테고리의 다른 글

4차 정규화  (0) 2023.08.17
BNCF(3.5NF)  (0) 2023.08.16
2차 정규화  (0) 2023.08.11
1차 정규화  (0) 2023.08.10
함수적 종속성(FD)  (0) 2023.08.09
2차 정규화 [정의] 릴레이션이제1정규형에속하고, 기본키가아닌모든속성이기본키에완전함수종속되면제2정규형
이상현상사례기술준비
삽입이상: 특정튜플을삽입할경우원하지않는불필요한정보까지도삽입해야하는현상
수정이상: 특정속성값갱신시중복저장되어있는속성값중하나만갱신되고나머지는누락되는현상
삭제이상: 특정튜플을삭제할경우원하지않는정보까지도삭제되는현상
[데이터베이스시스템] P185~188
부분함수종속제거
이상현상은 2차부터발생

토픽 이름 () 2차정규화
분류 DB > 정규화>2차정규화
키워드(암기) 부분함수 종속 제거
암기법(해당경우)  

 

기출문제

번호 문제 회차
1 다음은 컴퓨터에서 사용되는 제품에 대해 여러 개의 주문서가 접수된 내용을 보여주는 "주문목록" 초기 테이블이다. 각각의 물음에 답하시오.

. 1 정규화된 테이블과 E-R 다이어그램을 표현하시오.
. 2 정규화된 테이블과 E-R 다이어그램을 표현하시오.
. 3 정규화된 테이블과 E-R 다이어그램을 표현하시오
111.컴시응.3교시
2 다음은 하나의 제품에 대해 여러 개의 주문서가 접수된 내용을 보여주는 "주문목록" 초기테이블이다. 각각의 물음에 답하시오.
. 1 정규화된 테이블과 E-R 다이어그램을 표현하시오.
. 2 정규화된 테이블과 E-R 다이어그램을 표현하시오.
. 정규화의 목적, 효과, 문제점에 대하여 설명하시오.
78.관리.2교시

 

I. 부분 함수 종속성 제거하는 2 정규화 개요

. 정의 개요

- 1 정규화된 스키마에서 부분함수 종속성 제거해 모든 일반속성이 기본키에 완전 종속되도록 구성하는 데이터 구조화 기법

- 릴레이션 R 1NF이고 키에 속하지 않은 애트리뷰트 모두가 기본키에 완전함수 종속이면 2정규형

- XY에서 Y X 부분집합에 대해서도 함수적으로 종속되는 경우

 

. 2차정규화가 되지 않는 경우 발생하는 이상현상

삽입 이상 특정 튜플 삽입 시 원치 않는 불필요 정보까지 삽입해야 하는 현상
수정 이상 특정 속성 값 갱신 시 중복 저장되어 있는 속성값 중 하나만 갱신되고 나머지는 누락되는 현상
삭제 이상 특정 튜플 삭제 시 삭제를 원하지 않는 정보까지도 삭제되는 현상

 

II. 2 정규화 사례 : 부분함수 종속(2 이상의 결정자 분리)

 
2
정규화
()







>>>>>>이상현상 발생 : 삽입, 삭제, 갱신 이상
2
정규화
()






 

. 2 정규화에 대한 반정규화

반응형

'정보관리기술사 > DB_데이터분석' 카테고리의 다른 글

BNCF(3.5NF)  (0) 2023.08.16
3차 정규화  (0) 2023.08.12
1차 정규화  (0) 2023.08.10
함수적 종속성(FD)  (0) 2023.08.09
낙관적 검증(Validation) 기법  (0) 2023.08.08
1차 정규화 [정의]릴레이션에 속한 모든 속성의 도메인이 원자 값(atomic value)으로만 구성되어 있으면 제1정규형
원자값종속성:모든 엔티티 타입의 속성에는 하나의 속성 값 만을 가지고 있어야 하며 반복되는 속성의 집단은 별도의 엔티티 타입으로 분리
속성, 반복속성제거, 정규화, 원자값(Atomic Value)  
토픽 이름 () 1차정규화(1정규형/1NF)
분류 DB > 정규화 > 1차정규화
키워드(암기) 반복 속성 제거, 의존자의 중복 제거, 원자성 확보
암기법(해당경우)  

 

기출문제

번호 문제 회차
1 6.다음은 컴퓨터에서 사용되는 제품에 대해 여러 개의 주문서가 접수된 내용을 보여주는" 주문목록" 초기 테이블이다. 각각의 물음에 답하시오.


. 1 정규화된 테이블과 E-R 다이어그램을 표현하시오.
. 2 정규화된 테이블과 E-R 다이어그램을 표현하시오.
. 3 정규화된 테이블과 E-R 다이어그램을 표현하시오.
111.컴시응.3교시

 

I. 의존자의 중복제거, 1 정규화 정의

- 모든 엔티티 타입의 속성에는 하나의 속성 만을 가지고 있어야 하며 반복되는 속성의 집단은 별도의

엔티티로 분리

- 속성에 값이 반복 집단이 없는 원자 값으로만 구성되어 있어야 한다는 것을 의미

 

II. 1 정규화 적용 사례

. 1차 정규화 사례 (1)

문제 상황 설명
  - 명의 회원이 여러 번의 카드를 분실 겨우 Repeating Value 부분의 반복 발생
- 결정자이면서 PK 회원번호에 대해 여러 개의 값이 존재하는 1 정규형 위반
- 입력/수정/삭제 이상(Anomaly) 발생
à 분실정보 데이터 입력시 원하지 않는 회원의 회원명, 전화번호등을 입력 해야 하며, 회원정보 수정 할 때 분실한 수 만큼 수정해야 하고, 분실정보를 삭제하는데 원하지 않는 회원정보까지 삭제하는 이상현상 발생.
  -회원번호 + 상품카드번호에 대해 ‘분실신고일자’아래 내용이 반복되어 원자성이 확보 안됨
à 1 정규화 필요
  - 1 정규화 완료
BUT. 상품카드번호 à 상품카드명의 부분함수종속성립 à 2 정규화 필요

 

. 1차 정규화 사례 (2)

- 문제상황

제품
번호
제품명 재고
수량
주문
번호
수출
여부
고객
번호
사업자
번호
주문
수량
1001 모니터 1,990 AB345 X 4520 398201 150
1001 모니터 1,990 AD347 Y 2341 - 600
1007 마우스 9,702 CA210 X 3280 200212 1,200
1007 마우스 9,702 AB345 X 4520 398201 300
1007 마우스 9,702 CB230 X 2341 563892 390
1201 스피커 2,108 CB231 Y 8320 - 80

(정보관리 782교시 문제)

- 1 정규화 결과

반응형

'정보관리기술사 > DB_데이터분석' 카테고리의 다른 글

3차 정규화  (0) 2023.08.12
2차 정규화  (0) 2023.08.11
함수적 종속성(FD)  (0) 2023.08.09
낙관적 검증(Validation) 기법  (0) 2023.08.08
다중 버전 동시성 제어(MVCC)  (0) 2023.08.06
정규화   함수적 종속성(FD) 데이터들이어떤기준값에의해항상종속되는현상
- 유형 : 함수적종속성(1~BCNF), 다중값종속성(4NF), 결합종속성(5NF)
- 종류 : 완전함수(1NF), 부분함수(2NF), 이행함수(3NF), 결정자함수(BCNF), 다중값(4NF), 조인(5NF)

완부이결다조
토픽 이름 () 함수적 종속성
분류 DB > 정규화 > 함수적 종속성
키워드(암기) 완전함수, 부분함수, 이행함수, 결정자함수, 다중값, 조인, 암스트롱 공리
암기법(해당경우) 완부이결다조

 

기출문제

번호 문제 회차
1 1. 아래의 스키마(Schema) 함수종속성(FD:Fuctional Dependency)을 이용하여 함수종속도표(Funcional Dependency Diagram) 작성한 , (Key) 찾아내는 과정을 설명하고, BCNF(Boyce-Codd Normal Form) 정의를 기술하고 조건을 만족시키는 테이블을 설계하시오
대출스키마(지점명, 자산, 장소, 대출번호, 고객명, 금액)
FD : 지점명 -> 자산
     지점명 -> 장소
     대출번호 -> 지점명
     대출번호 -> 금액
105.관리.3교시
2 4. 관계형데이터베이스 설계시 테이블 스키마(R) 함수종속성(FD) 아래와 같이 주어졌을때, 다음 질문에 답하시오.
   R(A, B, C, D, E, F, G, H, I)
   FD : 1. A B
        2. A C
        3. D E
        4. AD I
        5. D F
        6. F G
        7. A D H
) 스키마 R(A, B, C, D, E, F, G, H, I)은 원자값(Atomic Value)으로 구성되어 있는 1차 정규형테이블이다.
) 함수종속도표(FDD : Functional Dependency Diagram) 작성하시오.
) 스키마 R(A, B, C, D, E, F, G, H, I)에서 키(key)값을 찾아내고 과정을 설명하시오.
) 2 정규형 테이블을 설계하고 테이블의 (key)값을 명시하시오.
) 3 정규형 테이블을 설계하고 테이블의 (key)값을 명시하시오.
84.관리.2교시
 

 

I. 정규화의 기본이론, 함수적 종속성의 개요

. 함수적 종속성(Functional Dependency) 정의

- 릴레이션 속성 부분집합 X, Y 대해 릴레이션 내에서, X값에 따라, Y 값이 오직 하나만 연관되어 있을때의 종속적 성질(, X Y유일하게 결정)

- 데이터 애트리뷰트들의 의미와 상호관계로부터 유도되는 제약 조건(Constraints)의 일종

 


X
Y
ex) 주민번호 결정자
(Determinant Set)

종속자
(Dependent Attribute)
ex) 이름, 성별

. 함수적 종속성의 종류

 

II. 함수적 종속성의 유형과 추론규칙

. 함수적 종속성 유형

종속성구분 주요개념
완전 함수 종속 - Full Functional Dependency
- 기본 키에만 종속되는 모두 구성되는 FD 관계
- XX 이고 XY 만족하는 애트리뷰트 X' 존재하지 않음
부분 함수 종속
(2NF)
- partial functional dependency
- XX 이고 XY 만족하는 애트리뷰트 X' 존재함
- 결정자가 여러 개의 속성들로 구성 (복합속성)

이행함수 종속성
(3NF)
- Transitive Dependency
- 릴레이션 R에서 속성 AX이고 XY이면 AY

결정자함수
종속성 (BCNF)
- Boyce-Code Normalization
- 함수적 종속이 되는 결정자가 후보키가 아닌 경우
- , XY에서 X 후보키가 아님
다중값 종속성
(4NF)
 
- MVD: Multi-Valued Dependency
- 관계에 이상의 독립적 다중값 속성이 존재하는 경우
- X, Y, Z 세개의 속성을 가진 릴레이션 R에서 속성쌍 [X, Z] 값에 대응하는 Y값의 집합이 X값에만 종속되고 Z값에는 독립이면 Y X 다중값 종속. X->>Y로 표기
조인종속성
(5NF)
- Adjoin Dependency
- 관계 중에서 둘로 나눌 때는 원래의 관계로 회복할 없으나, 셋 또는 그 이상으로 분리시킬 때 원래의 관계 복원 가능한 특수한 경우임

 

. 함수적 종속성의 주요추론 규칙(암스트롱 공리)

반응형

'정보관리기술사 > DB_데이터분석' 카테고리의 다른 글

2차 정규화  (0) 2023.08.11
1차 정규화  (0) 2023.08.10
낙관적 검증(Validation) 기법  (0) 2023.08.08
다중 버전 동시성 제어(MVCC)  (0) 2023.08.06
Timestamp Ordering  (0) 2023.08.05
  낙관적 검증(Validation) 기법 [정의] 트랜잭션수행동안은어떠한검사도하지않고, 트랜잭션종료시일괄적으로검사하는기법
[동작매커니즘]
read phase(검증없이트랜젝션수행)-validation phase(트랜젝션종료시동시성검증수행)-excution phase(문제없으면디스크반영, 아니면철회)
Read Phase, Validation Phase, Execution Phase
판독, 확인, 기록(디스크에반영)하는 3단계.
직렬화확인후반영
유효성검사 판확기
토픽 이름() 낙관적 검증(Validation) 기법
분류 DB > 동시성 제어 > 낙관적 검증(Validation) 기법
키워드(암기) Read Phase, Validation Phase, Execution(Write) Phase
판독, 확인, 기록(디스크에 반영)하는 3단계. 직렬화 확인 후 반영
암기법(해당경우) RVE(알배)

 

기출문제

번호 문제 회차
1 데이터베이스 동시성 제어기법인 2PL(2 Phase Locking), Timestamp Ordering, 낙관적 검증기법을 비교 설명하시오 합숙.공통.2014.01
(2일차)
2 트랜잭션 동시성 제어기법에 대해 설명하시오 모의.정보관리.2017.04
(1교시)

 

I. 일괄 검사, 낙관적 검증(Validation) 기법의 개요

 . 낙관적 검증 기법의 정의

 - 트랜잭션 수행 동안은 어떠한 검사도 하지 않고, 트랜잭션 종료 시에 일괄적으로 검사하는 방법

- 트랜잭션을 실행하는 동안 모든 갱신은 지역 사본에만 반영되고 트랜잭션 종료 확인 단계를 통해 직렬 가능성에 위반되지 않으면 실행하고 위반되면 복귀하는 기법

 . 낙관적 검증 기법의 특징

- 교착상태가 발생하지 않음(no deadlock)        - 연쇄 복귀가 없음(no cascading rollback)

- 순환적 재시작(cyclic restart, starvation)         - 데이터 지역 사본 갱신 (트랜잭션 수행 중일 경우)

- 일시 반영 (트랜잭션 종료 )

 

II. 낙관적 검증 기법의 개념도 처리단계

. 낙관적 검증 기법의 개념도

 

- 데이터베이스 연산 실행 검사 발생하는 오버헤드를 최소화하기 위해 낙관적 검증 기법 활용

. 낙관적 검증 기법의 처리 단계 설명

단계 설명
판독 단계
(Read Phase : R)
- 트랜잭션의 모든 갱신은 사본에 대해서만 수행하고 실제 데이터베이스에 대해서는 미수행
확인 단계
(Validation Phase : V)
- 판독 단계에서 사본에 반영된 트랜잭션의 실행 결과를 데이터베이스 반영 전 직렬 가능성 위반여부 확인
기록 단계
(Write Phase : W)
- 확인 단계를 통과하면 트랜잭션의 실행 결과를 데이터베이스에 반영
- 확인 단계를 실패하면 실행 결과를 취소하고 트랜잭션은 복귀

III. 낙관적 검증 기법의 트랜잭션 유효성 검사

조건 설명 타임스탬프(Time-stamp)

Finish(Ti) < Start(Tk) Ti Tk 시작 전에 완성 ŸStart(Ti): 트랜잭션 Ti 판독단계에 들어가면서 실행을 시작한 시간
ŸValidation(Ti): 트랜잭션 Ti 판독단계를 끝내고 확인을 시작한 시간


ŸFinish(Ti): 트랜잭션 Ti 최종 기록 단계를 완료한 시간

Start(Tk) < Finish(Ti) < Validation(Tk)
and
Write-set(Ti) Read-set(Tk)


Write-set(Ti) Read-set(Tk)
and
Write-set(Ti) Write-set(Tk)

- TS(Ti) < TS(Tk) 관계에 있는 모든 트랜잭션 Ti 에 대해 위 3 가지 조건 하나만 만족하면 트랜잭션들 간에 간섭이 없는 것으로 보고 확인을 성공 (TS: transaction)

- 하나라도 만족하지 못하면 트랜잭션 간의 간섭이 일어났을 가능성이 있기 때문에 실패

 

IV. 낙관적 병행제어기법으로 생성된 직렬 가능 스케줄 예제

“끝”

반응형

'정보관리기술사 > DB_데이터분석' 카테고리의 다른 글

1차 정규화  (0) 2023.08.10
함수적 종속성(FD)  (0) 2023.08.09
다중 버전 동시성 제어(MVCC)  (0) 2023.08.06
Timestamp Ordering  (0) 2023.08.05
2PL or 2PLP(2 Phase Locking)  (0) 2023.08.04
토픽 이름 () 다중 버전 동시성 제어(MVCC)
분류 Database > 동시성제어 > 다중 버전 동시성 제어(MVCC)
키워드(암기) 유형 : MultiversionTimestamp Ordering, Multiversion Two-Phase Locking
정책 : Multi-version Read Consistency, Isolation Level
암기법(해당경우)  

 

기출문제

번호 문제 회차
1 다중 비전 동시성 제어(MVCC: Multi Version Concurrency Control) 111관리.90.3
2 12. 타임스탬프 기법과 다중버전 동시성제어(MVCC: Multi Version Concurrency Control)기법을 비교하시오. 합숙_2019.04.3D_관리
3 5. 트랜잭션의 병행 실행 발생 가능한 문제점을 설명하고 그중 다중버전 동시성제어(MVCC: Multi Version Concurrency Control) 기법에 대하여 설명하시오 모의_2019.03_관리_3
  6. 데이터베이스 트랜잭션 동시성 제어를 위한 2PL(2 Phase Locking) MVCC(Multiversion concurrency control)기법에 대하여 설명하시오. 모의_2018.01_관리_3

 

. 데이터 무결성과 트랜잭선 직렬화 가능성 보장, 다중버전 동시성 제어의 정의

  • 트랜잭션이 한 데이터 아이템에 접근하려 할 때, 그 트랜잭션의 타임스탬프와 접근하려는 데이터 아이템의
    여러 버전의 타임스탬프를 비교하여, 현재 실행하고 잇는 스케쥴의 직렬가능성이 보장되는 적절한 버전을 선택하여 접근하도록 하는 기법

 

II. 동시성 제어 수행의 개념도(구성도)

구분 설명
UNDO 이용하여 동시성제어 수행
원리 데이터를 변경 할 때마다 그 변경사항을 Undo 영역에 저장해 .
시작시점의 일관성 있는 버전(CR Copy) 생성
데이터를 읽다가 쿼리(또는 트랜잭션) 시작 시점 이후에 변경된(변경이 진행 중이거나 이미 커밋된) 값을 발견하면, Undo영역에 저장된 정보를 이용해 쿼리(또는 트랜잭션) 시작 시점의 일관성 있는 버전(CR Copy) 생성하고 그것을 읽음.

 

III. MVCC 유형 정책

가. MVCC의 유형

  1. Multiversion Timestamp Ordering
개념 동작 알고리즘
DBMS에서 생성하는 고유번호인 타임스탬프를 시간 순서에 따라 트랜잭션에 부여하여 동시성 제어의 기준으로 사용하는 기법
트랜잭션의 수행순서는 각 할당된 타임스탬프에 기반을 둔다. 타임스탬프 기법에서는 트랜잭션들의 타임스탬프 순서로 인해 직렬가능 스케쥴이 보장됨
트랜잭션 Ti 읽기 연산 Ri(X) 요청 ,
a) Ri(Xk) 값을 반환한다.(여기서 Xk <= TS(Ti)이며, 가장 타임스탬프를 가지는 X 버전이다)
트랜잭션 Ti 쓰기 연산 Wi(X) 수행 ,
a) 이미 Rj [Xk] TS(Tk) < TS(Ti) < TS(Tj) 프로세스 되었다면 Wi(X)는 거부된다.
b) a 경우가 아니라면 Wi(X) 전환된다.
  • 버전이란 한 데이터 항목이 변경될 때 그 데이터 항목의 이전 값을 스냅샷(snapshot) 형태로 보존

    2. Multiversion Two-Phase Locking
개념 R, W, C 호환성 테이블
  1. 하나의 데이터 항목에 R(읽기), W(쓰기), (보증) 가지 잠금 모드를 사용함
  2. 세 가지 락은 유기적으로 서로 확인하여 동시성 제어를 하는데 유용하게 활용됨
  • 쓰기를 수행한 모든 데이터 항목들에 대해 C-lock을 획득해야 하기 때문에 트랜잭션의 완료가 지연되는 단점을 보유함

 

  1. MVCC(Multiversion Concurrency Control)의 정책
    1. 다중버전 읽기 일관성(Multi-Version Read Consistency) 정책
  1. 갱신이 이루어 진 경우, 기존 데이터 값은 데이터베이스의 롤백 세그먼트에 기록되고, 다른 사용자들은 트랜잭션이 Commit 되기 전까지는 롤백 세그먼트에 저장된 이전 버전의 정보를 조회하게 되어 데이터의 읽기 일관성을 보장
  2. SCN(System Change Number) : 이전 데이터를 얻기 위하여, 내부적으로 트랜잭션이 commit 때마다
2. 독립성 레벨(Isolation Level) 정책
Level 설명
Read Committed 오라클의 default 독립성 레벨.
각 쿼리는 쿼리가 시작되기 전에 commit 데이터만을 읽을 있음
Serializable 트랜잭션이 시작되는 시점에서 commit 데이터의 변경 사항과 insert, update, delete 명령문을 통해 트랜잭션 자신이 변경한 데이터만 있어 읽기 일관성 보장
Read Only 트랜잭션이 시작된 시점에서 commit 변경 사항만 있으며, insert, update, delete 명령문은 허용하지 않음

“끝”

반응형

'정보관리기술사 > DB_데이터분석' 카테고리의 다른 글

함수적 종속성(FD)  (0) 2023.08.09
낙관적 검증(Validation) 기법  (0) 2023.08.08
Timestamp Ordering  (0) 2023.08.05
2PL or 2PLP(2 Phase Locking)  (0) 2023.08.04
동시성 제어  (0) 2023.08.03

+ Recent posts