본문 바로가기
CS/데이터베이스

데이터 정합성 보장을 위한 트랜잭션 이해하기 - 01. 트랜잭션이 없는 세상은

by 컴쏘 2023. 6. 6.

트랜잭션이 필요한 이유

거래 전

상황 : 홍길동이 김국밥에게 900원을 송금

  1. READ (홍길동 잔고)
  2. UPDATE (김국밥 잔액) = 김국밥 잔액 + 900

홍길돈 잔액 update

   3. UPDATE(홍길동 잔액) = 홍길동 잔액 - 900

거래 후

문제1. 만약 3번 과정(UPDATE(홍길동 잔액) = 홍길동 잔액 - 900)에서 실패를 한다면?

따라서 SQL문을 마치 하나의 오퍼레이션으로 묶을 수 있어야 함 : 트랜잭션

→ 1~3번 과정을 하나의 오퍼레이션으로 묶을 수 있어야 함

 

문제2. 2번 과정후 3번 과정 전 사이에 김국밥이 1400원을 출금해버린다면?

→ 3번 과정은 실패를 할 것임

따라서, 처리 중인 데이터를 다른 곳에서 조회하게 되면 문제가 발생

트랜잭션 격리레벨을 따로 지정할 수 있어야 함


2023 KAKAO Tech Campus_BackEnd 필수 과정
DB(MySQL) 강의 정리 내용입니다.