본문 바로가기
Computer Science/데이터베이스

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

by Sky Titan 2020. 9. 17.
728x90

트랜잭션 (Transaction)

  • 데이터베이스에서 하나의 논리적 기능을 수행하기 위한 기본 작업 단위
  • 예를 들어, 통장에서 금액을 출금하는 작업을 한다고 치면 '통장 금액 불러오기 (SELECT)' → '출금 (UPDATE)' 와 같은 순서로 이루어지는데 이 2가지 과정이 하나의 트랜잭션이다.

 

트랜잭션의 특성 (ACID)

특성 설명
원자성 (Atomicity) 트랜잭션 내의 모든 작업이 성공적으로 수행되어 반영되거나 혹은 모두 반영되지 않아야한다. (일부만 반영x)
일관성 (Consistency) 트랜잭션이 성공적으로 실행된 후에도 데이터베이스는 항상 일관성을 유지해야한다.
독립성 (Isolation) 어느 트랜잭션이 실행 중일 때, 다른 트랜잭션이 연산에 끼어들 수 없다.
지속성 (Durability) 성공한 트랜잭션의 결과는 데이터베이스에 영구히 반영되어야 한다.

 

트랜잭션 제어어 (Transaction Control Language, TCL)

명령 설명
COMMIT 트랜잭션의 결과를 데이터베이스에 반영한다.
ROLLBACK 트랜잭션의 연산을 취소하여 되돌린다.
CHECKPOINT ROLLBAKC을 하기 위한 복구 시점을 지정한다.

 

728x90

댓글