IT/Server

[Spring] HikariCP이란?

음료요정 2023. 5. 11. 10:52

 
 
일단 HikariCP는 JDBC의 커넥션 풀 라이브러리이다. jdbc에 대해서 먼저 알아보자 
 

- JDBC란?

JDBC는 Java Database Connectivity의 약자로 자바에서 데이터베이스에 접속할 수 있도록 하는 자바 API이다. 데이터베이스의 종류와는 상관없다.
 

-DB Connection Pool(커넥션 풀)이란?

자바 프로그램에서 데이터베이스의 연결을 맺고 끊는것은 오래걸려 성능과 안정성에 큰 영향을 미친다.
그래서 웹 어플리케이션은 실행됨과 동시에 연동할 데이터베이스와의 연결을 미리 설정해 둔다. 
일정량의 Connection 객체 연결을 미리 해 놓았다가 요청시 꺼내서 쓴다.
연결을 미리 해 놓은 상태로 데이터베이스와 연결 상태를 유지하는 기술을 커넥션 풀이라고 한다.
 

- 스프링에서의 커넥션 풀

스프링에서는 DataSource라는 객체를 이용하여 커넥션 풀을 관리한다.
DataSource에 대한 설정은 Driver, url, username, password등의 정보를 받고
Max Pool Size, Timeout, Minimum Pool Size등 추가로 옵션을 설정할 수 있다. 
 
DataSource의 디버깅을 해보면 아래와 같은 내용을 담고있음을 알수 있다. 

 
- HikariCP : 스프링부트 2.0 이후 표준이 된 오픈소스 DataSource이다.