Transaction, Commit, Rollback

Jimin·2022년 11월 16일
0

스프링 - fastcampus

목록 보기
20/21

Transaction이란?

더 이상 나눌 수 없는 작업의 단위.

all or nothing


Transaction의 속성 - ACID

원자성(Atomicity)

나눌 수 없는 하나의 작업으로 다뤄져야 한다.

일관성(Consistency)

Tx 수행 전과 후가 일관된 상태를 유지해야한다.

고립성(Isolation)

각 Tx는 독립적으로 수행되어야 한다.

영속성(Durability)

성공한 Tx의 결과는 유지되어야 한다.


커밋(commit)괴 롤백(rollback)

커밋

작업 내용을 DB에 영구적으로 저장

롤백

최근 변경사항을 취소(마지막 커밋으로 복귀)


자동 커밋과 수동 커밋

자동 커밋

명령 실행 후, 자동으로 커밋이 수행(rollback 불가)

수동 커밋

명령 실행 후, 명시적으로 commit 또는 rollback을 입력


Tx의 isolation level

각 Tx를 고립시키는 정도

  1. READ UNCOMMITED - 커밋되지 않은 데이터도 읽기 가능(dirty read)
  2. READ COMMITED - 커밋된 데이터만 읽기 가능(phantom read)
  3. REPEATABLE READ - Tx의 시작 후 다른 Tx의 변경은 무시됨(default)
  4. SERIALIZABLE (고립도가 가장 높다) - 한 번에 하나의 Tx만 독립적으로 수행

profile
https://github.com/Dingadung

0개의 댓글

관련 채용 정보