[JAVA 기초] JDBC란?

shooting star·2023년 6월 20일
1

JAVA 기초

목록 보기
5/5

JDBC(Java Database Connectivity)

자바 어플리케이션에서 DB 프로그래밍을 할 수 있도록 도와주는 표준 인터페이스로 JDBC 인터페이스들을 구현한 구현체들은 각 데이터베이스 벤더 사들이 제공한다. 이를 JDBC Driver라고 부른다. Java 코드에서는 보통 JDBC 인터페이스에만 의존하기 때문에 DB를 변경하여도 코드를 변경할 필요가 없게 된다. 다음과 같은 내용은 아래의 그림을 통해서 한 눈에 확인할 수 있다.

DB 커넥션 풀

DBCP(Database Connection Pool)은 미리 일정량의 DB 커넥션을 생성해서 풀에 저장해 주고 있다고 HTTP 요청에 따라서 필요할 때 풀에서 커넥션을 가져다가 사용하는 기법이다.

스프링 부트 2.0부터는 디폴트 커넥션 풀로 HikariCP를 사용한다.

유의사항

커넥션의 사용 주체는 WAS 스레드이다. 그렇기 때문에 커넥션 개수는 WAS 스레드 수와 함께 고려해야한다. 그리고 커넥션 수를 크게 설정하면 메모리 소모가 큰 대신 동시 접속자 수가 많아지더라도 사용자 대기 시간이 상대적으로 줄어들게 되고, 반대로 커넥션 개수를 작게 설정하면 메모리 소모는 적은 대신 그만큼 대기시간이 길어질 수 있다. 따라서 적정량의 커넥션 객체를 생성해 두어야 한다.

DataSource : 주로 커넥션 획득을 위한 표준 인터페이스로 HikariCP의 dAtaSource를 사용한다.

0개의 댓글