[정보처리기사실기] 병행 제어와 데이터 전환

    반응형

    2과목. 데이터베이스 구축

    📒 14. 병행 제어와 데이터 전환


    1. 병행제어

    (1) 병행제어의 개념

    • 여러 트랜잭션이 동시에 실행되면서도 데이터베이스의 일관성을 유지하는 기법
    • 데이터베이스는 같이 공유해서 쓰기 때문에 무결성을 지키기 위해 병행제어를 해야 함

    (2) 병행제어의 목적

    • 데이터베이스의 공유도 최대화
    • DB 일관성 유지

    (3) 병행제어를 하지 않았을 때의 문제점 ⭐

    • a) 갱신 분실(Lost Update)
      - 여러 트랜잭션이 같은 데이터를 공유하여 갱신할 때, 일부 갱신 결과가 손실되는 현상
    • b) 비완료 의존성(Uncommitted Dependency)
      - 실패한 트랜잭션이 회복되기 전에 다른 트랜잭션이 그 결과를 참조하는 현상
    • c) 모순성(Inconsistency)
      - 병행 수행 중 원치 않는 자료를 사용함으로써 발생하는 문제
      - 갱신 분실은 하나의 데이터를 가져올 때, 모순성은 여러 데이터를 가져올 때 발생하는 문제
    • d) 연쇄 복귀(Cascading Rollback)
      - 하나의 트랜잭션이 실패해 롤백되면, 다른 트랜잭션도 함께 롤백되는 현상

     

    2. 병행제어 기법

    (1) 로킹(Locking)

    • 트랜잭션이 데이터에 접근하려면 로킹을 수행해야 함 (자물쇠를 잠가야 함)
    • 로킹된 데이터는 다른 트랜잭션이 접근할 수 없음
    • 필드(속성), 레코드(행), 파일, 데이터베이스 모두 로킹 단위가 될 수 있음
    • 로크수는 자물쇠 수, 병행성은 여러 사람들이 이용할 수 있는 능력 , 오버헤드는 수행하고 있는 일
    • 로킹 단위가 크면 로크 수↓ 병행성↓ 오버헤드↓
    • 로킹 단위가 작으면 로크 수↑ 병행성 ↑ 오버헤드 ↑

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

    • 확장 단계 : 새로운 Lock 가능, Unlock 불가능
    • 축소 단계 : 새로운 Lock 불가능, Unlock 가능

    (3) 타임스탬프(Time Stamp)

    • 데이터에 접근하는 시간을 미리 정해 순서대로 접근
    • 직렬가능성 보장, 교착상태 발생하지 않음
    • 연쇄복귀 초래할 수 있음

    (4) 낙관적 병행제어(Optimistic Concurrency Control)

    • 트랜잭션 수행 동안 검사를 하지 않고, 종료 시 일괄적으로 검사

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

    • 여러 버전의 타임스탬프를 비교하여 직렬 가능성이 보장되는 타임스탬프 선택

     

    3. 회복

    (1) 회복의 개념

    • 장애로 인해 손상된 데이터베이스를 이전의 정상 상태로 복구하는 것

    (2) 장애의 유형

    • a) 트잭션 장애
      - 실행 중 발생하는 논리적 오류
    • b) 시스템 장애
      - 하드웨어 시스템에서 발생하는 오류
    • c) 미디어 오류
      - 디스크 손상 등으로 발생하는 오류

    (3) 로그 파일

    • 트랜잭션의 데이터 변경사항을 데이터베이스에 기록하기 전에 먼저 기록하는 별도의 파일

     

    4. 회복 기법

    (1) 로그 기반 회복 기법

    • a) 지연 갱신 회복 기법(Deferred Update)
      - 트랜잭션이 커밋되기 전까지 변경 내용을 로그 파일에만 저장
      - 중간에 장애가 생기더라도 데이터베이스에 기록되지 않았으므로 REDO만 실행하고 UNDO는 필요없음
      - 미 실행된 로그 폐기
    • b) 즉시 갱신 회복 기법(Immediate Update)
      - 트랜잭션 수행 중 변경 내용을 데이터베이스에 즉시 기록
      - 완료된 트랜잭션은 REDO, 미완료 갱신은 장애 발생 시 UNDO 필요

    (2) 검사점 회복 기법(Checkpoint Recovery)

    • 장애 발생 시 검사점 이전에 처리된 트랜잭션은 회복에서 제외, 이후 처리된 트랜잭션은 회복 작업 수행

    (3) 그림자 페이징 회복 기법(Shadow Paging Recovery)

    • 트랜잭션 시작 시점에 Current Page Table과 동일한 Shadow Page Table 생성
    • 데이터를 복사해서 성공하면 table 삭제, 실패 시 Current Page Table로 사용

    (4) 미디어 회복 기법(Media Recovery)

    • 별도 저장장치에 백업

    (5) ARIES 회복 기법(Algorithms for Recovery and Isolation Exploiting Semantics)

    • REDO 중 Repeating history, UNDO 중 Logging
    • 분석단계, REDO단계, UNDO단계로 구성

     

    5. ETL(Extraction, Transformation, Loading)

    (1) ETL의 개념

    • 데이터 전환은 기존 원천 시스템에서 데이터를 추출(Extraction)하고, 이를 목적 시스템의 데이터베이스에 적합한 형식과 내용으로 변환(Transformation)한 후, 목적시스템에 적재(Loading)하는 일련의 과정

    (2) ETL의 기능

    • a) 추출(Extraction)
      - 하나 이상의 데이터 소스로부터 데이터를 획득하는 과정
    • b) 변환(Transformation)
      - 데이터 클렌징, 형식 변환 및 표준화, 데이터 통합 등을 수행하는 과정
    • c) 적재(Loading)
      - 변환 단계에서 처리된 데이터를 목표 시스템에 적재하는 과정

     

    6. 데이터 정제

    (1) 데이터 품질 관리 대상

    • 데이터 값, 데이터 구조, 데이터 관리 프로세스

    (2) 데이터 품질 지표

    • 정확성, 일관성, 유용성, 접근성, 적시성, 보안성

     

     

    참고자료

    흥달쌤,  '흥!나게 합격 달성! 2024 정보처리기사 실기 클래스'
     

    1억뷰 N잡

    [1회 연장 포함] 흥!나게 합격 달성! 2024 정보처리기사 실기 클래스

    www.njobler.net

    반응형

    댓글