Posts Transaction
Post
Cancel

Transaction

트랜잭션

트랜잭션이란?

  • 트랜잭션은 작업의 단위이다.
  • 보통 Database Management System에 관여한다.
  • ACID 속성으로 묘사된다.
    • A: Atomic
    • C: Consistent
    • I: Isolated
    • D: Durable

Atomic(원자성)

  • 트랜잭션에 의한 모든 작업이 완료가 되어야 한다. 작업이 완료된 트랜잭션은 commit된다.
  • 작업중 하나라도 완료가 되지 않으면 기존 상태로 roll-back한다.
  • 이 속성을 통해 트랜잭션과 관련된 작업들이 부분적으로 실행되다가 중단되지 않는다는 것을 보장한다.

Consistent(일관성)

  • 트랜잭션이 실행을 성공적으로 완료하면 언제나 일관성 있는 데이터베이스 상태를 유지하는 것을 의미한다.
  • 무결성 제약에 위반하는 트랜잭션이 있다면 그 트랜잭션은 중단된다.
    • EX) 계좌 잔고가 0보다 작을 수 없다는 무결성 제약이 있다면, 잔고보다 더 큰 금액을 출금하려는 트랜잭션은 중단된다.

Isolation(독립성)

  • 트랜잭션을 수행할 때, 다른 트랜잭션은 해당 작업에 간섭할 수 없다.
    • EX) 입금, 출금 작업이 진행되는 계좌에는 다른 연산 작업이 간섭할 수 없다.
  • 실행단계에 있는 트랜잭션은 다른 어떤 데이터베이스에서도 이를 볼 수 없음을 의미한다.

Durable(지속성)

  • 성공적으로 실행된 트랜잭션(commit or roll-back)은 영원히 반영되어야 함을 의미한다.
  • 전형적으로 트랜잭션은 로그로 남고, 이를 통해 시스템 장애 발생 전 상태로 돌아갈 수 있다.
This post is licensed under CC BY 4.0 by the author.

Contents

Trending Tags