Transaction 트랜잭션

ACID 원칙을 만족하는 작업의 단일 논리 단위로써의 연산 순서를 의미한다.

🎯 계좌이체 예시

image.png

  1. Failures : 시스템 충돌, 하드웨어 실패
  2. 다양한 트랜잭션의 Concurrent execution

ACID 원칙

  1. Atomicity 원자성
  2. Consistency 일관성
  3. Isolation 격리성
  4. Durability 지속성

Atomicity (= All or Nothing) 원자성

image.png

위의 예시에서 6개의 명령어가 모두 함께 실행되거나 모두 실행되지 않거나 해야한다.

→ 6개 중에 하나라도 실패하면 트랜잭션은 roll back되어야한다.

Consistency 일관성

image.png

트랜잭션이 실행되면 DB는 valid(유효)한 상태에서 valid한 상태로 전이되어야함(올바른 결과를 도출해야함)