본문 바로가기

db

데이터베이스 원자성(Atomistic) 알아보기!

728x90

원자성(Atomistic)


일단 간단하게 설명하면 '모두 성공하거나 모두 실패하거나'라고 할 수 있을 것 같다!

 

만약 은행의 db라면 두 사람의 거래 내역에 맞게 금액 정보를 update 해야한다.(이 작업은 트랜잭션이라 생각하면 될 것 같다!)

그런데 만약 오류가 나서 한 사람만 update가 됐다면? 돈이 날아갈 것이다.

그래서 update가 된 것을 복구시켜줘야한다.

이러한 작업은 rollback이고 rollback을 하여 트랜잭션 연산을 전무(Nothing)로 만드는 것을 원자성이라고 한다.

반대로 두 사람의 금액 정보를 잘 update 했으면 commit을 해주어서 전부(All)로 만들어도 원자성이 성립한다.

 

이렇게 트랙잭션이 전무 또는 전부하도록 commit 또는 rollback을 해주는 것을 원자성이라고 한다.