Transaction

트랜잭션(Transaction)

  • 데이터베이스의 상태 변화를 위한 하나의 논리적 기능을 수행하는 작업 단위
  • 데이터베이스의 상태를 변화시킨다는 의미는 SQL을 이용하여 데이터베이스에 접근하는 것을 의미
  • 작업 단위는 사람이 정하는 기준에 따라 한꺼번에 모두 수행되어야 할 일련의 연산

트랜잭션의 Commit과 Rollback

1) Commit 연산

  • 하나의 트랜잭션이 성공적으로 끝나서 데이터베이스가 일관성 있는 상태에 있음을 의미

2) Rollback 연산

  • 하나의 트랜잭션 처리가 비정상적으로 종료되어 트랜잭션의 원자성이 깨진 상태를 의미.
  • 트랜잭션의 원자성을 지키기 위해 해당 트랜잭션이 행한 모든 연산을 재시작하거나 취소(Undo)함

트랜잭션 성질(ACID)

  • 데이터의 무결성(Interity)을 보장하기 위해 DBMS의 트랜잭션이 가져야 할 특징.

1) Atomicity(원자성)

  • 트랜잭션 내의 모든 명령은 반드시 완벽히 수행되어야 함(부분적으로 실행되거나 중단되지 않는 것을 보장)
  • 어느 하나라도 오류가 발생하면 트랜잭션 전부가 취소되어야 함
  • 트랜잭션의 연산은 모두 반영되도록 Commit 되거나 전혀 반영되지 않도록 Rollback 되어야 함

2) Consistency(일관성)

  • 트랜잭션의 작업 처리 결과는 항상 일관성이 있어야 함

3) Isolation(독립성, 격리성)

  • 트랜잭션 수행 시 다른 트랜잭션 연산에 끼어들지 못하도록 보장
  • 수행 중인 트랜잭션은 완전히 완료될 때까지 다른 트랜잭션에서의 수행 결과를 참조할 수 없음

4) Durability(영속성, 지속성)

  • 성공적으로 완료된 트랜잭션의 결과는 시스템이 고장 나더라도 영구적으로 반영되어야 함

 

참고자료

[Database] 트랜잭션(Transaction)이란? :: 코딩 공부 일지 (tistory.com)

 

[Database] 트랜잭션(Transaction)이란?

📖 트랜잭션(Transaction)이란? 데이터베이스의 상태를 변화시키는 하나의 논리적 기능을 수행하기 위한 작업의 단위 여기서 데이터베이스의 상태를 변화시킨다는 의미는 질의어(SQL : SELECT, INSERT,

cocoon1787.tistory.com