데이터베이스 기초
트랜잭션이 가져야 할 ACID 특성 중 '계좌 A에서 출금하여 계좌 B에 입금하는 이체 처리가, 도중에 장애가 일어나도 둘 다 수행되거나 전혀 수행되지 않거나 둘 중 하나가 된다'는 성질은?
- A일관성(Consistency)
- B지속성(Durability)
- C원자성(Atomicity)
정답과 해설 보기
정답: C. 원자성(Atomicity)
ACID 특성은 트랜잭션이 만족해야 할 4가지 성질의 머리글자를 딴 것입니다. 원자성(Atomicity)은 트랜잭션 안의 처리가 모두 실행되거나 전혀 실행되지 않거나 둘 중 하나가 되는 성질로, 장애가 일어났을 때는 도중까지의 갱신을 취소합니다. 일관성(Consistency)은 트랜잭션 전후에 데이터가 정합성 제약(잔액이 음수가 되지 않는다, 외래 키의 참조 대상이 있다 등)을 계속 만족하는 성질입니다. 고립성(Isolation, 독립성)은 동시에 실행되는 여러 트랜잭션이 서로 간섭하지 않고, 하나씩 차례로 실행한 경우와 같은 결과가 되는 성질입니다. 지속성(Durability, 영속성)은 커밋한 트랜잭션의 결과가 그 후에 장애가 일어나도 사라지지 않는 성질입니다. 문제의 '전부 아니면 전무' 성질은 원자성입니다.