Transection 이란 따로 수행에 성공해선 안되는 하나의 단위 이다 .
만약
A가 가진돈이 10000원이고 5000원을 B에게 보냈다면
UPDATE A (10000-5000),UPDATE B(0+5000) 이 이루어 져야 한다 .
두개의 업데이트 문이 이루어 져야하는데
만약
업데이트가 한가지만 이루어져 UPDATE A (10000-5000)만 이루어 졌다면
5000원이 순식간에 사라지고 A와 B의 갈등이 생길것이다 .
이러한 일들을 막고자 Transection으로 UPDATE A와 B 가 전부 성공, 전부 실패로 만들어 줘야 한다.
트랜잭션은 ACID 조건을 충족해야 한다.
A(atomicity) 원자성 : 하나의 트랜잭션이 더 이상 작게 쪼갤 수 없는 최소한의 업무 단위이다.(All Or Nothing)C(consistency) 일관성: 실행 실패시 RollBack 되어야 함;
I(isolation) 고립성: 하나의 트랜잭션 수행시 다른 트랜잭션의 작업이 끼어들지 못하도록 보장하는 것이다. 즉, 트랜잭션 끼리는 서로를 간섭할 수 없다 D(durability) 지속성: DB에 영구저장 되어야 한다.
'spring' 카테고리의 다른 글
데이터 베이스 스키마 자동 설정 (0) | 2023.04.17 |
---|---|
Http 요청 확인 (0) | 2023.03.29 |
ApplicationContext (0) | 2023.03.14 |
Presentation-Layer (0) | 2023.03.14 |
댓글