라이프프_LIFE IS A PROJECT

병행 제어(Concurrency Control), 회복 기법(Recovery) [정보처리기사 필기] 본문

정보처리기사

병행 제어(Concurrency Control), 회복 기법(Recovery) [정보처리기사 필기]

라이프프 2024. 5. 2. 22:28

병행 제어(Concurrency Control)

  • 여러 트랜잭션 실행 시 데이터베이스 일관성을 유지하며, 다른 트랜잭션에 영향을 주지 않으면서 제어하는 것
  • 사용자에 대한 응답 시간 최소화
  • 시스템 활용도 최대화

병행 제어 기법

로킹 잠금 단위 이미지
로킹의 단위(DB, 릴레이션, 튜블, 속성), 출처: https://medium.com/@yw52503v

1. 로킹(Locking)

- 트랜잭션이 데이터에 접근 시 로킹 수행하여 로킹한 트랜잭션만 해제 할 수 있도록 함

- 로킹 단위가 작으면 관리가 까다로워 로킹 오버헤드가 증가되지만, 동시성 수준 향상됨

* 2단계 로킹 규약(Two-Phase Locking Protocol)

- Lock과 Unlock이 동시에 이루어지면 일관성 보장 되지 않아, Lock만 가능한 단계/Unlock만 가능한 단계로 구분

  • 확장 단계= 트랜잭션이 Lock만, Unlock 불가
  • 축소 단계= 트랜잭션이 Unlock만, Lock 불가

2.  타임스탬프(Time Stamp)

- 데이터 접근하는 시간 정하고 정해진 시간 순서대로 데이터에 접근

 

3. 낙관적 병행 제어(Optimistic Concurrency Contol)

- 트랜잭션 수행 시 검사하지 않고, 종료 시에 일괄로 검사

 

4. 다중 버전 병행 제어(Multi-version Concurrency Control)

- 하나의 데이터 아이템에 대해 여러 버전 값 유지하는 기법(대기가 아닌 복귀처리 함으로 연쇄복귀 발생 가능)


회복(Recovery) 기법

1. 지연 갱신(Deferred Update)

- 트랜잭션 완료시까지 데이터베이스 기록하지 않음(부분 완료가 되면 로그에 기록된 내용 통해 한꺼번에 반영)

 

2. 즉시 갱신(Immediate Update)

- 트랜잭션 수행 중 결과 데이터베이스에 즉시 반영

 

3. 체크포인트(Check Point)

- 장애 발생 시 검사점 이후 처리된 트랜잭션에 대해서만 장애 발생 이전으로 복원

 

4. 그림자페이징(Shadow Paging)

- 데이터베이스 트랜잭션 수행 시 복제본 생성하여 장애시 활용하여 복구

 


함께 보면 도움되는 글

2024.04.28 - [정보처리기사] - 인터페이스 설계 및 구현[정보처리기사 필기]

 

인터페이스 설계 및 구현[정보처리기사 필기]

인터페이스 의미인터페이스 요구사항은 조직 내외부 시스템 간 상호 접속을 통해 특정 기능 수행하기 위한 접속 방법과 규칙에 대한 필수적 요구 사항요구사항 명세서 구성인터페이스명설명메

liap.tistory.com

2024.05.01 - [분류 전체보기] - 인터페이스 구현 검증 도구 [정보처리기사 필기]

 

인터페이스 구현 검증 도구 [정보처리기사 필기]

인터페이스 구현 검증 도구인터페이스 구현 및 감시 도구 통해 인터페이스의 동작 상태 검증 인터페이스 구현 검증 도구의 종류xUnit자바, C++, Net 등 다양한 언어 지원하는 단위 테스트 프레임

liap.tistory.com