[CS/DB] DB 동시성 처리 - 트랜잭션, Lock, MVCC
·
CS/DB
DB 동시성 제어는 트랜잭션에서 시작해 Lock → Deadlock → MVCC 로 이어진다.흐름으로 따라가며 각 개념을 이해해보자.1. 트랜잭션(Transaction)트랜잭션은 여러 DB 작업을 하나의 논리적 단위로 묶어 전부 성공하거나 전부 실패하도록 보장하는 것이다.왜 필요한가A 계좌에서 B 계좌로 만원을 이체하는 경우를 예로 들어보자.A 계좌 -10000B 계좌 +10000두 작업 중 하나만 성공하면 문제가 생긴다.A 계좌 -10000 ✅ 성공B 계좌 +10000 ❌ 실패→ 돈이 사라짐그래서 두 작업은 반드시 둘 다 성공하거나, 둘 다 실패해야 한다.이 작업 묶음이 트랜잭션이다.트랜잭션 제어어 (TCL)TCL은 트랜잭션의 시작과 종료를 제어하는 명령어다.COMMIT, ROLLBACK, SAV..