엑셀 데이터 DB에 넣기.
-> csv 파일 이용 https://ddukbaegi.tistory.com/45
-> 엑셀에서 insert query 만들기 https://wonjongah.tistory.com/94
mssql openquery
: 다른 DB에 쿼리 날리는 명령어.
-> openquery 설명 https://luvris2.tistory.com/356
-> 사용시 주의점 https://hanalen.tistory.com/15
com.microsoft.sqlserver.jdbc.SQLServerException: 개체 이름 '...'이(가) 잘못되었습니다. 에러
: 로컬 실험 중 mssql DB에 쿼리 날릴 때 에러남.
알고보니 DB에 정말 그 테이블이 없어서,,,ㅋㅋㅋ DB 확인 확실히 하기,,
스케줄러, 배치
: 스케줄러와 배치는 사용자 개입 여부에 따라 엄연히 다름.
CQRS 강의
: 명령과 조회 분리. 내용은 재밌는데 목소리가 나긋하셔서 졸렸다,,
조회할 때 연산(join 등)을 최소화하기 위해 조회 모델에서 DTO, nosql(Redis, MongoDB, Elastic Search 등), json 등 이용.
명령 DB와 조회 DB 동기화가 필수적이며 모니터링도 필요(Replication Lag).
이벤트 소싱으로 동기화 부담 최소화
변경 감지 방법 4가지 (Jpa EntityListeners, Hibernate EventListeners, Hibernate Interceptor, Spring AOP) 중 이용이 간단한 Hibernate EventListeners, Spring AOP를 사용하였으며, AOP는 deleteInBatch와 같이 캐시 없이 바로 쿼리 날리는 경우에만 사용.
https://www.youtube.com/watch?v=fg5xbs59Lro
MySQL workbench 에서는 SQL server를 migration하는 게 아닌 이상 연결이 안 돼서, Dbeaver에 MSSQL 연결했다.
Dbeaver는 sql 편집기 새 창 하나 켜서 쿼리 날리는 게 보기 편하더라.