1. 개요

데이터베이스의 상태를 변화시키기 위해 수행되는 작업의 단위를 트랜잭션이라고 부른다. 이때 트랜잭션이 안전하게 수행된다는 것을 보장하기 위한 속성이 있는데 이것을 ACID라고 부른다.


2. A (Atomicity 원자성)

트랜잭션은 모두 실행하거나 모두 실행하지 않음 두 가지 상태만을 가진다. 작업의 단위가 트랜잭션인데, 실패하면 이전 상태로 롤백해야 한다. 즉 일부 SQL은 성공하고 실패하면 안된다.

분해가 불가능한 최소의 단위인 하나의 원자처럼 동작


3. C (Consistency 일관성)

트랜잭션 이전, 이후 데이터베이스는 항상 일관성 있는 상태이어야 한다. 예를 들어, 게시글 제목을 쓰는데 글자 수가 255자로 제한되어 있다면 트랜잭션 이후에도 255자로 제한된 상태로 데이터베이스가 존재해야 한다는 것이다.

데이터베이스 상태가 위반되지 않도록 동작


4. I (Isolation 고립성)

여러 트랜잭션이 동시에 실행이 되면 서로 영향을 주지 않는다는 속성