Transaction은 스프링에서 AOP로 동작하여 연결과 커밋, 롤백등을 관리한다고 한다. Transaction 내부코드를 보다보니 어떻게 AOP로 동작하는지 확인이 어려웠다. 먼저 간단한 AOP만들기를 시작으로 좀 더 내부를 파헤쳐보려고 한다. 1. AOP, 프록시 이해하기 횡단 관심사를 분리하기 위해서 AOP를 사용한다. AOP를 사용하기 위해서는 프록시 패턴을 사용한다. reflection을 사용하는 DynamicProxy 방식과 byte 코드를 조작하는 CGLIB 방식이 있다. AOP에서 사용되는 용어 Target: 어떤 대상에 부가 기능을 부여할 것인지 Advice: 어떤 부가 기능을 부여할 것인지 Join Point: 어디에 적용할 것인지 Point Cut: 실제 Advice가 적용될 시점을..
mvc, jdbc 등을 몇 개 내부코드를 살펴보았지만 아직 스프링 내부의 코드를 보는 것이 그렇게 익숙하지는 않다. Transactional 어노테이션과 관련하여 스프링에서는 트랜잭션이 어떻게 동작하는지 내부를 조금 확인해본다. DataSourceTransactionManager 아래의 코드를 보면 커넥션 맺기부터 시작하여 Transactional 어노테이션이 가지고 있는 여러 옵션들을 셋팅해주는 메소드가 있는 것을 알 수 있다. Transaction마다 커넥션이 새로 생성되는가에 대해서 크루들과 얘기해본 적이 있는데, 학습테스트를 진행한 결과에서는 propagation 설정을 주고 여러 트랜잭션을 호출할 때에도 내부 트랜잭션이 생길 때에도 커넥션이 새로 생성되었다. 그 근거로 이 내부코드에서 Trans..
DB 응용 OLTP(OnLine Transaction Processing) 복수의 사용자에서 발생되는 트랜잭션을 DB가 처리하고 돌려주는 과정 응답속도가 빠름 데이터 처리가 얼마나 정확하고 무결한지가 중요 index 로 데이터에 소량 접근하여 소량의 읽기를 해오는 경우 데이터 수정이 비교적 많이 일어나는 경우 OLAP(OnLine Analytical Processing) 데이터를 분석하여 유의미한 정보를 제공해주는 처리방법 오래 걸림, 상대적으로 응답속도가 느림 다량의 데이터를 다량으로 읽기를 하는 경우 Transaction(트랜잭션) 트랜잭션의 영어 의미는 "거래" 무언가를 주고 받는 행위를 의미 DB에서는 쪼갤 수 없는 작업의 단위를 의미 ACID(Atomicity, Consistency, Isola..
- Total
- Today
- Yesterday
- python
- 인증
- 카카오
- 우테코수업
- 학습로그
- JPA
- 내부코드
- DB
- OS
- 모의면접준비
- 글쓰기미션
- 알고리즘
- TIL
- 객체지향
- TCP/IP
- 코드스쿼드
- javascript
- 회고
- JS
- 운영체제
- 마스터즈코스
- 네트워크
- Spring
- 월간회고
- Transaction
- 개발공부일지
- 우아한테크코스
- React
- CS
- java
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |