통칭 - ACID


Atomicity 원자성

  • 트랜잭션이 완전히 완료되거나 전혀 실행되지 않도록 함
  • 트랜잭션 작업이 실패하면 전체 트랜잭션이 롤백
  • 장애가 발생하더라도 DB가 일관된 상태를 유지하도록 보장 ex) 계좌이체실패시 잔액 증발 방지

Consistency (일관성)

  • DB를 하나의 유효한 상태에서 다른 상태로 변환하도록 함
  • DB가 트랜잭션 전후의 모든 사전 정의된 규칙, 제약 조건 및 불변성을 준수하도록 보장
  • DB는 제약조건에 변경되지 않은 상태로 유지 ex) 계좌이체 실패 후 모든계좌에 잔액 합계 유지 —

    Isolation (고립성, 격리성)

  • 동시에 실행되는 다른 트랜잭션과 독립적으로 실행되는 것처럼 보이도록 함
  • 동시성 제어 및 서로간의 격리 조치 ex) 두가지의 동시 계좌 인출시 잔액 충돌 방지

Durability(지속성)

  • WAL 트랜잭션의 성공확인 전 스토리지에 변경사항 저장 ex) 충돌로 재시작시 잔액 유지

요약하면 트랜잭션은 일관성과 무결성을 유지하면서 동시에 데이터에 액세스하고 수정할 수 있는 데이터베이스 시스템의 중요한 개념입니다. ACID 속성(Atomicity, Consistency, Isolation 및 Durability)은 트랜잭션이 안정적으로 실행되도록 하여 사용자와 애플리케이션이 데이터 불일치나 손상에 대한 두려움 없이 자신 있게 데이터베이스와 상호 작용할 수 있도록 합니다.