transaction

Lee·2023년 4월 3일
0

면접 스터디

목록 보기
11/18

정의

DB의 상태를 변경하는 기능을 수행하기 위한 작업단위

ACID

atomicity

  • transaction은 DB에 모두 반영되거나 모두 반영되지 않아야 한다.

consistancy

  • DB는 항상 일관된 상태로 유지되어야 한다.

Isolation

  • 둘 이상의 transaction이 동시에 실행 될 때 어떤 transaction도 다른 transaction 연산에 끼어들 수 없다.

durability

  • transaction 성공시 결과는 영구적으로 반영되어야 한다.

격리수준

동시에 DB에 접근 시 어떻게 제어할지 설정하는 것

Read-Uncommited

  • 커밋 전의 transaction의 데이터 변경 내용을 다른 transaction이 읽는 것을 허용
  • dirty read

Read-Commited

  • 커밋 후의 transaction 변경사항만 조회 가능
  • 커밋 전의 조회는 변경 전 값 조회
  • Non Repeatable Read

Repeatable-Read

  • transation 범위 내에서 조회한 내용의 동일성 보장
  • Phantom Read

Serializable

  • 한 transaction에서 사용하는 데이터를 다른 transation에서 접근 불가

전파 타입

transaction 경계에서의 동작 방식 설정

제목1제목2제목3
REQUIRED해당 transaction 사용새로운 transaction 생성
MANDATORY해당 transaction 사용예외 발생
REQUIRED_NEW해당 transaction 오류, 새로운 transaction 생성새로운 transaction 생성
SUPPORTS해당 transaction 사용transaction 없음
NOT SUPPORTS해당 transaction 보류transaction 없음
NEVER예외 발생transaction 없음
NESTED중첩 transaction 생성새로운 transaction 생성
profile
발전하고 싶은 백엔드 개발자

0개의 댓글

관련 채용 정보