정보관리기술사/DB 데이터분석

데이터 무결성

기술기술 2023. 12. 29. 21:18

1. 정의

  • 데이터베이스의 정확성(Correctness)와 정밀성(Accuracy) 을 유지하기 위하여, 무결성 제한과 규칙(개참속사키도)에 의해 시스템에서 강제를 통한 보증하는 성질

 

2. 데이터 무결성 개념도 및 제약조건  -  개참속사키도

가. 개념도

나. 제약조건

 

3. 데이터 무결성 유지를 위한 유지 기법

가. 데이터베이스 회복 기법

  • 데이터베이스 운영 도중 예기치 못한 장애 (Failure)가 발생할 경우, 데이터베이스를 장애 발생 이전의 일관된 상태 (Consistent State) 로 복원시키는 기법.

 

- 로그기반 기법

  • 즉시 갱신 기법(Immediate Update) : 변경 내역 즉시 DB에 반영
    • 장애 발생 시 : 트랜잭션의 모든 작업을 취소

  • 지연 갱신 기법(Deferred Update) : 수행 중 로그만 기록 후 트랜잭션 종료 후, commit 시점에 DB 반영
    • 장애 발생시 : 마지막 완료 명령어 이후 명령 재실행

- Check Point 회복 기법

  • 로그 파일에 체크 포인트를 기록하고 장애 발생 시, 검사점(Checkpoint) 이후의 트랜잭션에 대해서만 회복 작업을 수행하는 회복 기법

 

- 그림자 페이지 기법

  • 현재 테이블과 동일한 그림자 테이블 생성 후 성공 정보를 동기화

나. 동시성 제어 기법

 

4. ARIES ( Algorithms for Recovery and Isolation Exploiting Semantics)

  • WAL 기반으로 빠른 데이터베이스 복구를 위한 회복 알고리즘
  • 데이터 베이스의 장애 발생(Redo 중 역사 반복 붕괴 발생)시 WAL(Write-Ahead Logging, 로그선행기법)을 통해 기록된 LSN(Log Sequence Number, 로그 순서 번호)을 이용하여 데이터 베이스를 회복(상태복구)하는 기법
  • 로그 순번 기록, 경량 DB 회복, Roll Forward = 역사반복

가. 구성도 및 구성요소 

  • 1단계, 분석단계 : 붕괴가 발생한 시점에 버퍼, 진행 트랜잭션을 파악, REDO가 시작되어야 하는 로그의 위치를 결정. 가장 마지막의 체크 포인트 지점을 찾아, REDO 지점 찾기
  • 2단계, REDO단계 : 분석 단계에서 결정한 REDO 시작 위치의 로그로부터 로그가 끝날 때 까지 REDO를 수행, REDO 된 로그 레코드의 리스트 관리하여 불 필요한 REDO 연산이 수행되지 않도록 함
  • 3단계, UNDO단계 : 로그를 역순으로 읽으면서 진행 트랜잭션의 연산을 역순으로 UNDO 함

- REDO : 장애 발생 시, 진행된 트랜잭션 로그 기반으로 미 진행된 트랜잭션 재실행을 통한 복원 기법, 무결성 보장, 지연

- UNDO : 장애 발생 시, 진행된 모든 트랜잭션 변경 사항 및 Commit 안된 트랜잭션 작업 취소 기법, 일관성 보장, 즉시

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

Anomaly(이상현상)  (0) 2024.01.10
데이터 품질 관리  (1) 2024.01.03
New SQL  (0) 2023.12.29
NoSQL  (1) 2023.12.29
트랜잭션  (0) 2023.12.29