2025 정보처리기사 실기 7과목

2025. 4. 3. 14:01·정보처리기사

트랜잭션의 특성

  • 원자성 : 트랜잭션의 연산 전체가 성공 또는 실패되어야 하는 성질이다.
  • 일관성 : 트랜잭션 수행 전과 트랜잭션 수행 완료 후의 상태가 같아야 하는 성질이다.
  • 고립성 : 동시에 실행되는 트랜잭션들이 서로 영향을 미치지 않아야 한다는 성질이다.
  • 영속성 : 트랜잭션의 결과는 영속적으로 데이터베이스에 저장되어야 하는 성질이다.

트랜잭션의 상태

  • 활성(Active)
  • 부분 완료(Partially Committed)
  • 완료(Committed)
  • 실패(Failed)
  • 철회(Aborted)

트랜잭션 제어언어(TCL)

  • 커밋
  • 롤백
  • 체크포인트

병행 제어 기법의 종류

  • 로킹(Locking) : 하나의 트랜잭션을 실행하는 동안 특정 데이터 항목에 대해서 다른 모든 트랜잭션이 동시에 접근하지 못하도록 상호배제(Mutual Exclusion) 기능을 제공하는 기법이다.
    • 로킹 단위가 작아지면 데이터베이스 공유도가 증가한다.
    • 로킹 단위가 작아지면 로킹 오버헤드가 증가한다.
  • 낙관적 검증(Optimistic Validation) : 트랜잭션이 어떠한 검증도 수행하지 않고 일단 트랜잭션을 수행하고, 트랜잭션 종료 시 검증을 수행하여 데이터베이스에 반영하는 기법이다.
  • 타임 스탬프 순서(Time Stamp Ordering) : 트랜잭션과 트랜잭션이 읽거나 갱신한 데이터에 대해 트랜잭션이 실행을 시작하기 전에 타임 스탬프를 부여하여 부여된 시간에 따라 트랜잭션 작업을 수행하는 기법이다.
  • 다중버전 동시성 제어(MVCC) : 트랜잭션 타임스탬프와 접근하려는 데이터의 타임스탬프를 비교하여 직렬가능성이 보장되는 적절한 버전을 선택하여 접근하도록 하는 기법이다.
  • 2PC(2 Phase Commit) : 여러 개의 분산 데이터베이스 시스템에서 트랜잭션의 일관성을 유지하기 위한 기법이다.
    • 1단계 : 준비 단계
    • 2단계 : 커밋 단계

고립화 수준 종류

  • Read Uncommitted : 아직 커밋되지 않은 데이터를 다른 트랜잭션이 읽는 것을 허용
  • Read Committed : 아직 커밋되지 않은 데이터를 다른 트랜젝션이 읽는 것을 허용하지 않는다.
  • Repetable Read : 선형 트랜잭션이 특정 데이터를 읽을 때, 트랜잭션 종료 시까지 해당 데이터에 대한 갱신, 삭제를 제한한다.
  • Serializable Read : 선형 트랜잭션이 특정 데이터 영역을 순차적으로 읽을 때, 해당 데이터 영역 전체에 대한 접근을 제한한다.

데이터베이스 회복 요소

  • REDO : 데이터베이스가 비정상적으로 종료되었을 때 디스크에 저장된 로그를 분석하여 트랜잭션의 시작과 완료에 대한 기록이 있는 트랜잭션들의 작업을 재작업하는 기법이다.
  • UNDO : 데이터베이스가 비정상적으로 종료되었을 때 디스크에 저장된 로그를 분석하여 트랜잭션의 시작은 있지만, 완료에 대한 기록이 없는 트랜잭션들이 작업한 변경 내용들을 모두 취소하는 기법이다.

회복 기법 종류

  • 로그 기반 회복 기법
    • 지연 갱신 회복 기법 : 트랜잭션이 완료되기 전까지 데이터베이스에 기록하지 않는 기법이다.
    • 즉각 갱신 회복 기법 : 트랜잭션 수행 중 갱신 결과를 바로 데이터베이스에 반영하는 기법이다.
  • 체크 포인트 회복 기법 : 장애 발생 시 체크포인트 이후에 처리된 트랜잭션에 대해서만 장애 발생 이전 상태로 복원시키는 기법이다.
  • 그림자 페이징 회복 기법 : 데이터베이스 트랜잭션 수행 시 복제본을 생성하여 데이터베이스 장애 시 이를 이용해 복구하는 기법이다.

스키마 구성

  • 외부 스키마
  • 개념 스키마
  • 내부 스키마

뷰의 장단점

  • 장점
    • 논리적 독립성 제공 : 데이터베이스에 영향을 주지 않고 애플리케이션이 원하는 형태로 데이터베이스에 접근 가능
    • 데이터 조작 연산 간소화
    • 보안 기능 제공
  • 단점
    • 뷰 자체 인덱스 불가
    • 뷰 변경 불가
    • 데이터 변경 제약 존재
저작자표시 비영리 변경금지 (새창열림)
'정보처리기사' 카테고리의 다른 글
  • 2025 정보처리기사 실기 9과목
  • 2025 정보처리기사 실기 8과목
  • 2025 정보처리기사 실기 6과목
  • 2025 정보처리기사 실기 5과목
SiwonHae
SiwonHae
프로그래밍을 공부하고 있는 학생입니다.
  • SiwonHae
    시원해의 블로그
    SiwonHae
  • 전체
    오늘
    어제
    • 전체보기 (148)
      • PS(Problem Solving) (94)
        • C (25)
        • C++ (33)
        • JAVA (36)
      • Algorithm & Data Structure (13)
      • Computer Science (12)
        • Network (2)
        • Design Pattern (10)
      • Back-end (5)
        • Spring (4)
      • Front-end (1)
        • React (1)
      • JAVA (4)
      • 정보처리기사 (17)
      • SQLD (2)
  • 블로그 메뉴

    • 홈
    • 방명록
    • 글쓰기
  • 인기 글

  • 최근 댓글

  • hELLO· Designed By정상우.v4.10.0
SiwonHae
2025 정보처리기사 실기 7과목
상단으로

티스토리툴바