c.horokhoroktech

[데이터베이스] #1 트랜잭션

그린 프로필그린||03:10:48|조회 8|댓글 0|반응 0
#데이터베이스#트랜잭션#정보처리기사

1.png

트랜잭션이란?

인가받지 않은 사용자로부터 데이터 보장을 위해 DBMS가 가져야 하는 특성

DBMS에서 하나의 '기능'을 수행하기 위한 작업의 기본 단위

1. 특성 (ACID or 원일고영)

  1. 자성
    • Atomicity
    • 트랜잭션 연산 전체가 성공 or 실패되어야 하는 성질
    • All or Nothing
  2. 관성
    • Consistency
    • 트랜잭션 수행 전/후 상태가 같아야 하는 성질
  3. 립성
    • Isolation
    • 동시에 실행되는 트랜잭션들이 서로 영향을 미치지 않아야 하는 성질
  4. 속성
    • Durability
    • 완료된 트랜잭션 결과는 영구적으로 DB에 저장되어야 하는 성질

2. 상태 변화 (활부완실철: 할부 완전 싫죠~)

transaction_상태전이도

상태설명
Acive, 초기 상태, 트랜잭션 실행 중
분 완료Partially Committed, 마지막 명령문이 실행된 후
Committed, 트랜잭션 완료(성공)
Failed, 트랜잭션 실행 불가(실패)
Aborted, 트랜잭션이 취소되고 트랜잭션 시작 전으로 환원

3. 제어

트랜잭션의 결과허용 or 취소할 때 TCL(Transaction Control Language)로 제어한다.

3-1. TCL 명령어 (커롤체)

명령어설명
COMMIT, 트랜잭션 확장, 트랜잭션을 메모리에 영구 저장
ROLLBACK, 트랜잭션 취소, 트랜잭션 내역 저장 무효화
크포인트CHECKPOINT, 저장 시기 설정, 롤백 위한 시점 지정

3-2. 병행 제어Concurrency Control (일관성 주요 기법)

다수의 사용자 환경에서 여러 트랜잭션 수행 시, DB 일관성 유지 위해 상호 작용을 제어하는 기법

  1. 목적
  • DB 공유 최대화
  • 시스템 활용도 최대화
  • DB 일관성 유지
  • 사용자의 응답시간 최소화
  1. 종류 (로 낙타다2)
종류설명
관적 검증
임 스탬프 순서
중버전 동시성 제어
2PC

4. DB 고립화 수준Isolation Level

다른 트랜잭션이 현재 데이터의 무결성을 해치지 않도록 잠금을 설정하는 정도

5. 회복 기법Recovery

트랜잭션 수행 중 손상된 DB를 이전의 정상 상태로 복구시키는 작업

5-1. 주요 요소

  1. REDO
  • DB가 비정상적 종료가 되었을 때, 디스크의 로그를 분석하여 트랜잭션의 시작과 완료 기록이 있는 트랜잭션 작업을 재작업하는 기법
  • DB 손상 시, 가장 최근 복제본을 적재한 후의 변경만을 로그를 이용해 재실행함으로써 DB를 복원하는 기법
  1. UNDO
  • DB가 비정상적 종료가 되었을 때, 디스크의 로그를 분석하여 트랜잭션의 시작은 있지만 완료 기록이 없는 트랜잭션 작업 내용을 모두 취소하는 기법
  • DB 손상은 없지만 변경 중 or 변경 내용의 신뢰가 없는 경우, 모든 변경을 취소해 복원하는 기법

5-2. 종류 (회로체그: 회로 체크)

종류설명
그 기반 회복 기법지연 갱신 회복 기법(트랜잭션 완료 전까지 DB에 기록하지 않음), 즉각 갱신 회복 기법(트랜잭션 중 갱신 결과를 바로 DB에 반영
크 포인트 회복 기법장애 시 검사 이후의 트랜잭션에서만 장애 이전으로 복원시키는 기법
림자 페이징 회복 기법트랜잭션 중 복제본을 생성해 DB 장애 시 복구하는 기법

댓글 0

로그인 필요 프로필로그인 필요

아직 댓글이 없습니다.