
234
2
부
구현
잭션 내에서 여러 테이블이 업데이트될 수 있다.
6.1.16.1.1
ACIDACID
트랜잭션 트랜잭션
일반적으로 데이터베이스 트랜잭션을 이야기할 때는
ACID
트랜잭션을 의미한다.
ACID
는 데
이터 저장소의 내구성과 일관성을 보장하기 위해 신뢰할 수 있는 시스템으로 만드는 데이터베
이스 트랜잭션의 주요 속성을 설명하는 약어다.
ACID
는 원자성
atomicity
, 일관성
consistency
, 격리성
isolation
, 내구성
durability
을 의미하며 이 속성들이 제공하는 것은 다음과 같다.
원자성
트랜잭션 내에서 시도된 작업이 두 가지 상태, 즉 모두 완료한 상태거나 모두 실패한 상태인지 확
인한다. 어떤 이유로든 시도한 변경이 실패하면 전체 연산이 중단되고 마치 아무것도 적용되지 않
는 것처럼 보인다.
일관성
데이터베이스가 변경되면, 유효하고 일관된 상태가 유지된다.
격리성
여러 트랜잭션이 간섭 없이 동시에 작동할 수 있다. 이는 어떤 트랜잭션 중에 이뤄진 모든 중간 상
태 변경이 다른 트랜잭션에 안 보이게 하는 방법으로 달성된다.
내구성
일단 트랜잭션이 완료되고 나면 시스템 오류가 발생하는 상황에서도 데이터가 손실되지 않는 것을
보장한다.
모든 데이터베이스가
ACID
트랜잭션을 제공하는 것은 아니라는 점에 주목해야 한다. 필자가
지금까지 사용한 모든 ...