일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 그리디
- Android
- pointcut
- db
- JDBC
- springdatajpa
- 김영한
- spring
- Proxy
- AOP
- 백준
- http
- 자바
- 알고리즘
- Exception
- 스프링 핵심 원리
- Servlet
- jpa
- transaction
- 스프링
- 스프링 핵심 기능
- JPQL
- java
- 인프런
- Spring Boot
- kotlin
- QueryDSL
- Thymeleaf
- Greedy
- SpringBoot
- Today
- Total
목록acid (2)
개발자되기 프로젝트
세 가지 상황을 가정해보자. 계좌이체 정상 계좌이체 문제 상황 - 커밋 계좌이체 문제 상황 - 롤백 1. 계좌이체 정상 기본 데이터 입력 - SQL set autocommit true; delete from member; insert into member(member_id, money) values ('memberA',10000); insert into member(member_id, money) values ('memberB',10000); memberA 10000원 memberB 10000원 계좌이체 실행 memberA 의 돈을 memberB 에게 2000원 계좌이체하는 트랜잭션을 실행해보자. 다음과 같은 2번의 update 쿼리가 수행되어야 한다. set autocommit false 로 설정한다...
1. Transaction이란? Data Base에서 다루는 개념. DB명령어들의 논리적인 묶음이다. Transaction의 성질 : ACID A : atomatic(원자성), 부분적의 성공을 허용하지 않는다. 중간 단계까지 실행되고 실패하는 일이 없도록 하는 것 C : consistance(일관성), 고립된 트랜잭션의 수행이 데이터베이스의 일관성을 보존해야 한다. 즉, 성공적으로 수행된 트랜잭션은 정당한 데이터들만을 데이터베이스에 반영해야 한다. 예를들어 예금 이체의 같은 경우 두 계좌의 금액의 합은 이체 전후 동일해야 한다. I : isolation(독립성), transaction 내 data 조작에 대해서는 다른 transaction으로부터 독립적이다. 트랜잭션을 수행 시 다른 트랜잭션의 연산 작업..