2025-08-15 16:57

Tags: SQL

ACID 원칙

  • 트랜잭션 이 신뢰성(데이터 무결성)을 보장하기 위해 반드시 지켜야 하는 4가지 성질
  • A: Atomicity(원자성)
    • 원자 최소단위
    • 트랜잭션 모든 작업은 모두 성공이거나 모두 실패
    • 모든 변경 사항 로그에 기록 중간에 실패 역추적 롤백
  • C: Consistency(일관성)
    • 일관된 상태: 데이터베이스 제약 조건이나 규칙 위반하지 않는 상태
    • 하나의 일관된 상태 또 다른 일관된 상태
  • I: Isolation(고립성 또는 독립성)
    • 실행 중인 트랜잭션의 중간 결과극 다른 트랜잭션이 접근할 수 없다.
    • 여러 트랜잭션이 동시 실행되어도 각 트랜잭션은 독립적으로 실행되는 것처럼 보여야 함
    • 부수 효과 가 없는 순수 함수 처럼 모듈화해서 독립적으로 만들어야함
    • 실제로 구현할때는 잠금 기반으로 만들거나 다중 버전 동시성 제어 등의 방식으로 구현
  • D: Durability (지속성)
    • 성공적으로 완료된 (커밋된) 트랜잭션 결과 시스템에 영구적으로 기록
    • 변경 내용을 비휘발성 메모리에 확실히 기록, WAL 같은 기법 로그 먼저 기록후 실제 데이터 변경