원자성(Atomicity)이란 트랜잭션에 포함된 모든 작업들이 전부 성공하거나,아니면 전부 실패하도록 보장하는 성질을 말한다.
"전부 아니면 전무 (All or Notiong)" 원칙으로 요약할 수 있다.
예를 들어, 1번 계좌에서 2번 계좌로 돈을 이체하는 상황을 생각해보자. 이 작업은 두 단계로 이루어진다.
1. 1번 계좌에서 돈을 출금 (UPDATE)
2. 2번 계좌에 돈을 입금 (UPDATE)
만약 1번 단계(출금)는 성공했지만, 2번 단계(입금)를 처리하기 직전에 시스템이 멈춘다면 어떻게 될가?
원자성이 없다면 1번 계좌에서 돈은 빠져나갔지만 2번 계좌에는 들어오지 않아 돈이 사라지는 심각한 문제가 발생한다.
하지만 원자성이 보장되면, 데이터베이스는 이 트랜잭션이 완전히 성공하지 못했다는 것을 인지하고 재시작 시 1번 단계의 출금 작업까지 모두 없었던 일로 되돌려 데이터의 일관성을 지킨다.