Transaction이란?

<aside> 💡 트랜잭션을 쓰는 이유는 데이터의 일관성을 유지하면서 안정적으로 데이터를 복구하기 위함이다.

</aside>

Transaction의 필요성

Untitled

그림을 보면서 설명한다.

1,2번까지 잘 실행되다가 3번 작업 시 소프트웨어가 중단되거나 하드웨어가 고장이 발생하여 작업에 오류가 생긴다면??

2번까지의 모든 작업을 취소하고 트랜잭션 작업 전인 데이터베이스 초기 상태로 돌아가게 된다.

만약 1,2번만 진행된 상태로 남겨둔다면, 더 심한 오류를 발생할 수 있기에, 안정성을 확보하는 방법이 트랜잭션이다.

Transaction의 특징 ACID

Atomicity

<aside> 💡 Atomicity(원자성) : Transaction이 데이터베이스에 모두 반영되던가, 아니면 전혀 반영되지 않아야 한다는 것을 의미한다.

</aside>

Transaction에서 실행되는 쿼리마다 하나의 작업 단위로 보지 않고, 여러개의 작업들을 묶어 하나의 작업 단위로 보게 된다.