본문 바로가기

정보처리산업기사_실기_기록용

[데이터베이스] 트랜잭션(Transaction)

반응형

1. 트랜잭션 정의

- 데이터베이스에서 하나의 논리적 기능을 수행하기 위한 연산 집합으로서 작업의 단위

- 데이터베이스 관리 시스템에서 회복 및 병행 수행 시 처리되는 논리적 단위

 

2. 트랜잭션의 종류

- COMMIT : 트랜잭션 처리가 정상적으로 종료되어 모든 변경 작업 반영

- ROLLBACK : 트랜잭션 처리가 비정상적으로 종료되어 모든 변경 작업을 취소하고 이전 상태로 되돌림

 

3. 트랜잭션의 특징(ACID)

- 원자성(Atomicity)

  • 트랜잭션은 완벽히 실행되어 COMMIT 연산을 수행하거나 도중에 오류 발생으로 ROLLBACK 연산을 수행 되어 모두 취소하여 원래의 상태로 되돌려야 함 (두 연산 중 하나는 수행이 되어야 함)

- 일관성(Consistency)

  • 트랜잭션 수행이 성공적이면 언제나 일관성 있는 데이터베이스 상태로 변환함
  • 시스템이 가지고 있는 고정 요소는 트랜잭션 수행 전과 수행 완료 후의 상태가 동일해야함

- 독립성(Isolation)

  • 한 트랜잭션이 데이터를 갱신하는 동안 완료되기 전까지 다른 트랜잭션들이 갱신 중인 데이터에 접근하지 못하도록 해야함
  • 동시에 수행이 되더라도 순차적으로 실행이 되어야함

- 영속성(Durability)

  • 트랜잭션 실행이 성공적으로 완료된 후에는 오류가 발생 했더라고 트랜잭션에 의해 변경된 내용은 계속 보존되어야함
  • 성공적으로 완료된 트랜잭션의 결과는 영구적으로 반영되어야 함

 

4. 트랜잭션의 상태

  • 활동 : 트랜잭션이 실행중인 상태
  • 실패 : 트랜잭션 실행 중 오류 발생으로 중단 상태
  • 철회 : 트랜잭션이 비정상적으로 종료되어 ROLLBACK 수행
  • 부분완료 : 트랜잭션의 마지막 연산까지 수행하였지만 COMMIT 전 상태
  • 완료 : 트랜잭션이 성공적으로 완료되어 COMMIT 연산을 수행한 상태
반응형