DB 스키마 형상을 소스 코드가 아닌 DB 테이블로 관리하기 위한 툴로 flyway를 많이 사용한다.
flyway
flyway의 동작 방식과 관련해선 여기를 참고하면 이해하기 수월하다.
그리고 여기를 참고했을 때 DB 스키마에 변경사항이 생겼지만 스크립트 파일을 누락한 경우 애플리케이션이 실행되지 않는 불상사가 발생하여 주의해야 한다고 한다.
제품을 운영하다보면 Deadlock found when trying to get lock, Lock wait timout exceeded와 같은 DB 동시성 이슈를 마주할 수 있게 된다. 보통 여러 트랜잭션이 동시에 동일 데이터에 대한 select, update 작업들을 수행할때 발생하게 되는데 이와 관련해서 DB Lock에 대해 정리해보고자 한다. ...
SpringBoot + JPA + MariaDB(10.6 이상) 환경에서 JPA 엔티티 ID 생성 전략을 IDENDITY를 적용하면 batch insert를 사용할 수 없다는 내용은 구글링을 통해 쉽게 찾을수 있다. IDENTITY 전략은 auto-increment로 PK 값을 자동으로 DB 에 의존하여 채번하는 방식이다. JPA 엔티티를 ...
사용한 커넥션을 커넥션풀로 다시 반환하지 못하게 되는 현상을 커넥션 누수라 한다. 아래 출처를 통해 다양한 포스팅들을 참고하면 이를 이해하기 쉬울 것이다. 특히! Hibernate 멀티테넌시를 사용한다면 더욱 주의가 필요할 것이다 :) 참고 및 출처 https://velog.io/@rnjsrntkd95/Hikari-CP-%EC%BB%A4%EB%...
[MSA] Kafka 도메인 이벤트 순서 보장하기
클린코드 내용 정리