[section 3] Spring MVC - 트랜잭션(1) - 개요

수경·2023년 1월 1일
0

코드스테이츠

목록 보기
45/57

트랜잭션 Transaction

여러개의 작업을 하나의 그룹으로 묶어서 처리하는 단위

❗️All or Nothing
하나의 작업이라도 실패하게 되면 모든 작업 실패
➡️ 데이터의 무결성을 보장해줌

JPA 기술을 사용한 DB와의 인터랙션은 내부적으로 JDBC API를 통해 이루어짐


ACID 원칙

트랜잭션은 ACID 원칙을 따름

Atomicity 원자성

작업을 더이상 쪼갤 수 없음

Consistency 일관성

트랜잭션이 에러없이 성공적으로 종료될 경우, 비즈니스 로직에서 의도하는 대로 일관성 있게 저장되거나 변경되는 것

Isolation 격리성

트랜잭션이 실행될 경우 각각 독립적으로 실행되어 서로에게 영향을 끼치지 말아야 함

Durability 지속성

트랜잭션이 완료되면 DB가 종료되어도 그 결과는 물리적인 저장소에 저장되어 유지되어야 함


커밋(commit)과 롤백(rollback)

커밋 commit

모든 작업을 DB에 반영하는 명령어
수행시 트랜잭션이 종료되고, 수행되지 않으면 해당 작업은 DB에 반영되지 않음

롤백 rollback

작업 중 문제가 발생하여 트랜잭션 내에 수행된 작업들을 취소하는 것
트랜잭션 이전의 상태로 돌아감

profile
어쩌다보니 tmi뿐인 블로그😎

0개의 댓글