Skip to content

Latest commit

 

History

History
20 lines (18 loc) · 1.19 KB

Transaction.md

File metadata and controls

20 lines (18 loc) · 1.19 KB

트랜잭션 (Transaction)

  • 하나의 논리적 기능을 실행하는 명령어의 집합을 트랜잭션(Transaction)이라고 한다.
  • 한 작업의 단위, 한꺼번에 모두 수행되어야할 일련의 연산을 의미한다.
  • DataBase에도 함께 쓰이는 개념이다.

Transaction의 성질 (ACID)

  • Atomicity(원자성)
    • 모두 반영되던가, 실패한다면 모두 반영되지 않아야한다.
  • Consistency(일관성)
    • 트랜잭션을 성공적으로 완료한다면 언제나 일관성 있는 상태여야 한다.
  • Isolation(독립성, 격리성)
    • 둘 이상의 트랜잭션이 동시에 실행되는 경우 서로의 트랜잭션 연산에 끼어들 수 없다.
    • 수행 중인 트랜잭션은 완전히 완료될 때까지 다른 트랜잭션에서 수행 결과를 참조할 수 없다.
  • Durablility(영속성, 지속성)
    • 성공적으로 수행한 트랜잭션의 결과는 시스템이 고장나도 영구적으로 반영되어야한다.

OS의 Transaction

  • 완료(Commit) : 성공적으로 실행
  • 철회(Abort) : 성공적으로 실행하지 못함.
  • 복구(Roll Back) : 철회된 트랜잭션에 의해 변경된 데이터를 복구함.