본문 바로가기

컴퓨터공학

[1일1cs] 데이터베이스 트랜잭션

트랜잭션이란? DB의 질의문(select insert delete update)으로 DB에 접근시 수행하는 작업단위.

여기서 작업단위는 사람 기준 하나의 단위인데
예를들어 자판기에서 콜라 하나를 뽑는다.
이라 치면 내돈 에서 update -1400
자판기 에서 update 콜라 수량 -1
두 과정이 하나의 작업단위이고 이를 트랜잭션이라 한다.

트랜잭션의 특징은
원자성 (1 or all 즉 db에 모두반영되거나 아예 반영되지않는다.)
일관성 (결과가 항상 일관됨)
독립성 (각각 트랜잭션 간에 연산결과에 영향을 미치지 않는다.)
지속성( 반영시 영구 지속)

이 있다.

commit 은 깃에서도 자주 보았듯이, 트랜잭션 적용내용을 확인하고 반영한다.
rollback은 비정상적 트랜잭션 발견시 트랜잭션 시작할 때로 상태를 돌려준다.