티스토리 뷰
- 예전에 배우긴 했는데 오랜만에 다시 한 번 복습하는 느낌으로 강의를 들었다.
트랜잭션 : 쪼갤 수 없는 업무의 최소 단위
ex) 쇼핑몰 사이트에서 고객이 상품을 주문하면 아래와 같은 일련의 과정이 필요하다.
1. 주문 기록 저장
2. 포인트 저장
3. 결제 기록 저장
- 만약 위의 3가지 과정을 진행하는 도중 error가 발생하면 어떻게 될까? ex) 주문 기록과 포인트 저장까지는 잘 됐는데 결제 기록을 저장하는 도중 오류가 발생
- 고객 입장에서는 주문도 됐고 포인트까지 저장됐는데 정작 결제 기록을 찾을 수 없는 황당한 상황이 발생한다.
- 이러한 문제를 어떻게 해결할 수 있을까?
- 업무(비즈니스 로직)와 관련된 모든 SQL을 성공시키거나 → 모두 다 성공하거나
- 그 중 하나라도 실패하면 모두 실패시킨다. → 모두 다 실패한다.
- 위와 같이 쪼갤 수 없는 하나의 업무 단위를 트랜잭션이라고 한다.
[MySQL 기준]
트랜잭션 시작 : start transaction;
트랜잭션 정상 종료(SQL 반영) : commit;
트랜잭션 실패 처리(SQL 미반영) : rollback;
'Backend > Spring' 카테고리의 다른 글
#27 영속성 컨텍스트 (1) | 2023.09.28 |
---|---|
#26 JPA를 이용해 SQL 날리기 with Spring Data JPA2 (0) | 2023.09.26 |
#24 JPA를 이용해 SQL 날리기 with Spring Data JPA (0) | 2023.09.19 |
#23 Entity Class (0) | 2023.09.10 |
#22 JPA - 등장 (0) | 2023.09.05 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- spring
- Advanced Stream
- 자료구조
- 프로세스
- 알고리즘
- DART
- 코테
- API
- 운영체제
- 메모리
- Stream
- MySQL
- 빅데이터 분석기사
- Java8
- git
- 빅데이터
- nosql
- db
- Spring Boot
- OS
- SQL
- Phaser3
- node.js
- SpringBoot
- Phaser
- java
- 코딩테스트
- 프로그래머스
- jpa
- MongoDB
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
글 보관함