트랜잭션
: 데이터베이스의 논리적 연산단위
e.g. 계좌이체
송금자 계좌에선 이체금액 차감
입금자 계좌에선 이체금액 가산
데이터 정합성 위해 위 작업은 전부 실행 OR 전부 취소
데이터 모델에서의 트랜잭션
“트랜잭션을 하나로 묶는다”
=> 원자성(All or Nothing) 보장되도록
=> 커밋의 단위를 하나로 묶기
ex)
주문과 주문상세 모델은
애초에 서로 독립적으로 데이터 발생 불가!
(반대로, 따로 개발한다 해도
재사용성의 이점 얻을 수도 없음!)
결론
잘못된 트랜잭션 처리
=> 데이터 정합성 문제 야기
&
데이터 품질에도 큰 영향