본문으로 건너뛰기
Previous
Next
ACID 뜻과 의미 | 기술 용어 사전 | pkglog
데이터베이스

ACID

정의

Atomicity(원자성), Consistency(일관성), Isolation(격리성), Durability(지속성). RDBMS 트랜잭션 안전성 4대 속성. 원자성: All-or-Nothing. 일관성: 제약 조건 유지. 격리성: 동시 실행 간섭 없음. 지속성: COMMIT 후 영구 보존

상세 설명

📋 기술 스펙

  • Atomicity: BEGIN-COMMIT 사이 모든 작업 성공 또는 ROLLBACK (WAL 로그)
  • Consistency: 외래키, UNIQUE, CHECK 제약 조건 유지
  • Isolation: Read Uncommitted(레벨0), Read Committed(레벨1), Repeatable Read(레벨2), Serializable(레벨3)
  • Durability: COMMIT 후 장애 발생 시에도 WAL(Write-Ahead Log)로 복구

💡 실무 활용

  • 금융: 계좌 이체, 결제 처리 (원자성)
  • 재고 관리: 주문-재고 동기화 (일관성)
  • 예약 시스템: 좌석 중복 예약 방지 (격리성)
  • 백업/복구: 장애 시 트랜잭션 로그로 복원 (지속성)

장점

  • 데이터 무결성: 제약 조건, 외래키 보장
  • 안전성: 장애 시 복구 가능
  • 동시성 제어: 격리 수준으로 조절

⚠️ 단점 및 제약

  • 성능 오버헤드: 로그, 락, MVCC 비용
  • 확장성 한계: 분산 트랜잭션(2PC) 느림
  • CAP 트레이드오프: 가용성과 상충 (NoSQL은 BASE)

🔧 호환성

MySQL, PostgreSQL, Oracle, SQL Server 등 RDBMS

📚 표준 정보

표준화 기구: Jim Gray (1981), ANSI SQL

출시 연도: 1983년