원자력과 원자 스코프를 이해하려면 사용자의 은행 잔액을 수정하기 위해 다음과 같은 비 원자, 일련의 운영을 고려하십시오.
1. 은행에서 잔액을 읽으십시오.
2. 잔액에서 거래 금액을 빼십시오.
3. 잔액을 은행에 다시 쓰십시오.
이러한 작업이 성공하려면 데이터베이스가 읽기와 쓰기간에 잠겨 있어야합니다. 그렇지 않으면 다른 트랜잭션 이이 두 작업 사이의 데이터베이스에 쓸 수 있기 때문입니다. 또한 트랜잭션 중에 문제가 발생하면 (예 :쓰기 작업 중에 데이터베이스가 오프라인 상태가 된 경우) 작업이 완전히 실패해야하며 데이터베이스는 트랜잭션이 시작되기 전에 상태로 복원되어야합니다.
원자력으로 일련의 작업은 단일 작업으로 작동하거나 완전히 실패합니다. 즉, 주어진 작업을 수행하는 코드는 *원자 범위 *내에서 동봉되며, 시퀀스의 작업이 실패하면 순서대로 작업이 발생하지 않은 것처럼 전체 트랜잭션이 롤백됩니다.
원자 범위 보장 :
1. 스코프에서 작동하지 않으면 모든 작업이 발생합니다.
2. 스코프의 작업이 실패하면 작업이 발생하지 않습니다. 그리고
3. 작업이 실패하기 시작하면 이미 발생한 작업이 즉시 롤백되어 작업이 시작되기 전에 시스템을 상태로 복원합니다.