본문 바로가기
데이터베이스

[데이터베이스] 트랜잭션 및 ACID 원칙

by 적용1 2025. 5. 1.
728x90

트랜잭션(Transaction)

  • 트랜잭션은 데이터베이스에서 하나의 논리적 작업 단위를 말한다.

  • 예시) 은행 A 계좌에 100만원 입금, 은행 B 계좌에서 30만원 출금 / 사용자가 개인 정보 수정, 게시글 수정

    만약 각각의 작업이 한 번에 일어나야 하는 상황이면, 두 작업은 같이 성공하거나 같이 실패해야 한다.

    이처럼 여러 작업을 하나의 덩어리로 묶어서 처리하는 것이 트랜잭션이다.

ACID 원칙

  • ACID는 트랜잭션이 정상적으로 처리되도록 보장하기 위해 만들어진 4가지 특성을 의미한다.

Atomicity (원자성)

  • 트랜잭션은 모두 수행되거나 전혀 수행되지 않아야 한다.

    중간 단계에서 오류가 나면 이전에 수행된 작업들도 모두 롤백되어야 한다는 의미이다.

Consistency (일관성)

  • 트랜잭션의 작업 처리 결과는 항상 일관성 있어야 한다.

    트랜잭션 전과 후의 데이터는 정해진 규칙(제약 조건)을 항상 만족해야 한다. 이를 통해 데이터 무결성이 깨지지 않도록 보장해야 한다.

Isolation (격리성)

  • 동시에 여러 트랜잭션이 실행되더라도 서로 영향을 주지 않아야 한다.

    트랜잭션 간 간섭 없이 독립적으로 수행되어야 한다.

Durability (지속성)

  • 트랜잭션이 완료된 후에는 그 결과가 영구적으로 저장되어야 하고, 시스템 오류가 발생해도 데이터는 보존되어야 한다.
728x90