DB 커넥션 풀 이란, 애플리케이션과 데이터베이스 사이의 필요한 커넥션들을 미리 생성해 둔 공간을 말한다.
DB 커넥션 풀을 사용하는 이유
데이터베이스 커넥션을 획득할 때는 복잡한 과정을 거치는데, 이때 연결할 때마다 리소스가 낭비되고 성능에도 영향을 미칠 수 있다.
그래서 애플리케이션 시작 시점에 커넥션을 미리 일정 수량 생성해 놓고, 이것을 재활용하여 사용한다.
현재 스프링 부트에서는 HikariCP가 기본으로 사용하는 커넥션 풀 구현체이다.
HikariCP
DataSource는 커넥션을 획득하는 방법을 추상화한 인터페이스로, 핵심 기능은 커넥션 조회 하나이다.
DataSource를 사용하면 커넥션을 획득하는 방법의 변경이 일어나도 DataSource의 구현체만 변경하면 되므로 DI와 OCP 원칙을 준수할 수 있다.
DataSource
Last updated 3 months ago