트랜잭션 ACID 정리

TJK·2025년 8월 22일

트랜잭션 ACID 정리

트랜잭션(Transaction)은 데이터베이스의 상태를 변경시키는 논리적인 작업 단위입니다. 이 트랜잭션이 안전하게 수행되기 위해 보장해야 하는 네 가지 특성을 ACID라고 합니다.


1. Atomicity (원자성)

핵심 개념 (★★★★★)

트랜잭션은 '전부' 실행되거나, '전부' 실패하여 롤백(Rollback)되어야 합니다. 작업이 도중에 중단되면, 그 트랜잭션이 시작되기 전 상태로 되돌아가는 것을 보장합니다.

  • 시험 출제 포인트:
    • All or Nothing, 전부 성공 또는 전부 실패, Rollback 이라는 키워드가 나오면 원자성입니다.
  • 암기 팁:
    • 원자(Atom)는 더 이상 쪼갤 수 없다. 트랜잭션도 쪼갤 수 없는 하나의 단위!

2. Consistency (일관성)

핵심 개념 (★★★★★)

트랜잭션이 성공적으로 완료되면, 데이터베이스는 항상 정해진 규칙(제약조건)을 만족하는 올바른 상태여야 합니다.

  • 시험 출제 포인트:
    • 제약조건 준수, 무결성 유지, 트랜잭션 전후 올바른 상태 라는 키워드가 나오면 일관성입니다.
  • 암기 팁:
    • C = Constraints (제약조건)를 항상 지킨다.

3. Isolation (고립성)

핵심 개념 (★★★★★)

여러 트랜잭션이 동시에 실행되더라도 서로 간섭하지 않아야 합니다. 마치 각 트랜잭션이 독립적으로 순차 실행된 것처럼 보이게 하는 특성입니다.

  • 시험 출제 포인트:
    • 동시성 제어, 간섭 없음, 중간 결과 노출 불가 라는 키워드가 나오면 고립성입니다.
  • 암기 팁:
    • Isolation = Isolate (고립시키다). 트랜잭션끼리 따로 분리된 방에 갇힌 느낌!

4. Durability (영속성)

핵심 개념 (★★★★★)

트랜잭션이 Commit되면, 그 결과는 시스템에 영구적으로 저장되어야 합니다. 이후에 시스템 장애가 발생하더라도 데이터는 유실되지 않습니다.

  • 시험 출제 포인트:
    • Commit 후 영구 보존, 시스템 장애에도 보존 이라는 키워드가 나오면 영속성입니다.
  • 암기 팁:
    • D = Disk에 Durable (영속적인) 상태로 저장.

ACID 요약표 (SQLD 시험용)

원칙한글의미시험 핵심 키워드
Atomicity원자성전부 실행 or 전부 실패Rollback, All or Nothing
Consistency일관성제약조건(무결성) 유지무결성, 제약조건
Isolation고립성동시 실행 간섭 없음동시성, 간섭 없음
Durability영속성Commit 결과 영구 보존Commit, 장애, 영구

SQLD 시험 단축키 (시험 직전 필독!)

  • Rollback원자성
  • 무결성일관성
  • 동시 실행고립성
  • Commit영속성

실전 기출 문제 스타일

1. 트랜잭션이 “전부 실행되거나 전혀 실행되지 않아야 한다”는 성질은?
① 원자성
② 일관성
③ 고립성
④ 영속성

2. 트랜잭션이 실행되기 전과 후의 데이터베이스가 항상 제약조건을 만족해야 한다는 성질은?
① 원자성
② 일관성
③ 고립성
④ 영속성

3. 여러 트랜잭션이 동시에 실행되더라도 순차적으로 실행된 것과 동일한 결과가 보장되는 성질은?
① 원자성
② 일관성
③ 고립성
④ 영속성

4. 트랜잭션이 Commit된 이후 시스템 장애가 발생하더라도 그 결과가 보존되는 성질은?
① 원자성
② 일관성
③ 고립성
④ 영속성

5. 다음 보기 중 ACID의 4가지 특성에 해당하지 않는 것은?
① 트랜잭션의 전부 성공 또는 전부 실패 보장
② PK, FK 제약조건을 위반하지 않음
③ 여러 트랜잭션이 동시에 실행되어도 서로 간섭하지 않음
④ 인덱스 최적화를 통한 조회 속도 향상


정답 및 해설

  • 문제 1 정답: ① (원자성)
    • 해설: 트랜잭션의 최소 단위성을 나타내는 성질입니다. All or Nothing이 핵심입니다.
  • 문제 2 정답: ② (일관성)
    • 해설: 트랜잭션이 아무리 복잡해도 DB의 무결성제약조건을 유지해야 한다는 규칙입니다.
  • 문제 3 정답: ③ (고립성)
    • 해설: 동시 실행 환경에서 트랜잭션들이 서로 독립적으로 작동함을 보장하는 성질입니다.
  • 문제 4 정답: ④ (영속성)
    • 해설: Commit된 데이터는 영구적으로 저장되어 시스템의 외부적인 문제에도 영향을 받지 않는다는 성질입니다.
  • 문제 5 정답: ④
    • 해설: 보기 ①, ②, ③은 각각 원자성, 일관성, 고립성에 대한 설명입니다. 인덱스 최적화는 ACID와 무관한, 데이터베이스 성능 관리 영역에 속합니다.
profile
Hello world!

0개의 댓글