Interview Question

[Interview Question] 트랜잭션의 ACID 특성을 설명해보세요.

sagecode 2025. 9. 2. 14:18

데이터베이스에서 하나의 논리적 작업 단위를 트랜잭션이라고 합니다.

이 트랜잭션이 안전하게 동작하기 위해 보장해야 하는 성질을 ACID라고 합니다.

 

1. Atomicity(원자성)

트랜잭션은 모두 수행되거나 전혀 수행되지 않아야 합니다. 중간단계에서 오류가 발생하면 지금까지 수행된 작업들이 모두 취소(ROLLBACK)되고 이전 상태로 되돌아 가야 합니다.

 

2. Consistency(일관성)

트랜잭션 실행 전과 실행 후에 데이터베이스는 일관된 상태를 유지해야 합니다.

제약 조건, 규칙 등 을 항상 만족해야 합니다.(Unique, pk, fk 등)

 

3. Isolation(격리성)

동시에 여러 트랜잭션이 실행되더라도 작업끼리 서로 간섭하지 않아야 합니다.

 

4. Durability(지속성)

트랜잭션이 성공적으로 commit되면 그 결과 시스템 장애가 발생하더라도 영구적으로 반영되어야 합니다.

 

이를 통해서 데이터의 안정성과 신뢰성을 보장합니다.