본문 바로가기

IT 개념

[DB기초] 트랜잭션(Transaction) 이란?

반응형
트랜잭션이란? 
트랜잭션(Transaction)은 데이터베이스 상태를 변화시키는 하나의 논리적 기능을 수행하기 위한 작업의 단위 또는 한번에 모두 수행되야야 하는 일련의 연산을 의미 합니다.

 

트랜잭션의 특징

  • 데이터베이스 시스템에서 병행 제어 및 회복 작업 시 처리되는 작업의 논리적 단위
  • 사용자가 시스템에 대한 서비스 요구 시 시스템이 응답하기 위한 상태 변환 과정의 작업단위

 

트랜잭션의 특성

Atomicity(원자성) Consistency(일관성) Isolation(독립성, 격리성) Durablility(영속성, 지속성)

 

 

Atomicity

  • 트랜잭션의 연산은 데이터베이스에 모두 반영되든지 아니면 전혀 반영되지 않아야 합니다.
  • 트랜잭션 내의 모든 명령은 반드시 완벽히 수행되어야 하며, 모두가 완벽히 수행되지 않고 어느하나라도 오류가 발생하면 트랜잭션 전부가 취소되야 합니다.

Consistency

  • 트랜잭션 실행 전 DB 내용이 잘못되지 않으면 실행 후도 잘못되지 않아야 합니다.
  • 시스템의 고정요소는 트랜잭션 수행 전과 후의 상태가 같아야 합니다.

Isolation

  • 하나의 트랜잭션 실행 중 다른 트랜잭션의 연산이 끼어 들 수 없습니다.
  • 트랜잭션 실행 도중 다른 트랜잭션의 영향을 받아 잘못된 결과를 만들어서는 안됩니다.

Durablility

  • 트랜잭션이 성공적으로 수행되면 데이터베이스의 내용은 영구적으로 반영되어야 합니다.

 

트랜잭션의 연산

 

Commit Rollback Savepoint

 

  • commit : 올바르게 반영된 데이터를 db에 반영
  • rollback : 트랜잭션 시작 이전의 상태로 되돌림 (commit 전까지, auto commit 포함)
  • savepoint : 저장 지점
반응형