Transaction

트랜잭션이란?

논리적 작업 단위로서 하나의 단위로 처리되어야하는 분리될 수 없는 연산 그룹이다. 간단하게 말해서 아래의 SQL(질의어)를 이용해 데이터베이스에 접근하는 것을 의미한다.

  1. SELECT

  2. INSERT

  3. DELETE

  4. UPDATE

여기서 작업단위는 SQL문 한문장이 아니라 많은 SQL문을 사람이 정하는 기준에 따라 정하는 것을 의미한다.

트랜잭션의 특징

ACID

  1. 원자성(Atomicity) : 트랜잭션이 데이터베이스에 모두 반영되거나, 전혀 반영이되지 않아야한다.

  2. 일관성(Consistency) : 트랜잭션의 작업처리 결과가 항상 일관성이 있어야한다.

  3. 독립성(Isolation) : 둘이상의 트랜잭션이 동시에 병행, 실행되고 있을 경우에는 어느 하나의 트랜잭션도 다른 트랜잭션 연산에 끼어들 수 없다.

  4. 지속성(Durability) : 트랜잭션이 성공적으로 완료되었을 경우, 결과는 영구적으로 반영되어야한다.

Commit & Rollback

  • Commit 하나의 트랜잭션이 성공적으로 끝났고, 데이터베이스가 일관적인 상태에 있을 때 이를 알리는 연산

  • Rollback 하나의 트랜잭션 처리가 비정상적으로 종료되어, 트랜잭션의 원자성이 깨진경우, 트랜잭션을 다시 시작하거나 부분적으로만 연산된 결과를 다시 취소한다. 후에 트랜잭션 처리 단위로 Rollback을 진행할 수 있다.

Last updated