본문 바로가기

IT/DB

DBCP에 대해서

DBCP란, DataBase Connection Pool의 약자로 DB와 연결을 맺고 있는 객체를 관리하는 역할을 합니다.

 

만약 JDBC만 사용하는 경우

  • 사용자의 요청에 따라 Connection이 생성된다면, 많은 사용자가 요청했을 때 서버에 과부하가 걸리게 됩니다.
  • DB 연결마다 Driver를 load하고 커넥션 객체를 얻는 작업을 반복하게 됩니다.

이러한 문제를 위해 나온 것이 DBCP입니다.

DBCP를 이용한 DB 요청 처리 과정

DBCP를 이용한 DB 요청 처리 과정

WAS 실행시, DB Connection 객체를 미리 몇 개 생성해 Pool이라는 공간에 저장하게 됩니다.

그 후 DB 연결 요청이 있으면, Pool에서 Connection 객체를 가져다 쓰고, 요청을 완료한 후 반환하게 됩니다.

 

Pool에 빌려줄 수 있는 Connection 객체가 존재하지 않으면, 다른 클라이언트가 커넥션을 반환할 때까지 대기상태로 전환됩니다.


오늘은 DBCP에 대해 간단하게 알아봤습니다.

각 사용자마다 데이터베이스 연결을 열고 유지 보수하는 것은 비용이 많이 들고 자원을 낭비하게 됩니다.

 

DBCP는 이러한 자원 낭비와 서버의 과부하를 줄여줍니다.

또한 반복되는 과정을 효율적으로 처리하기 때문에. Connection 과정이 줄어들어 결과적으로 속도 향상에도 도움이 됩니다.

많은 사용자가 존재하는 애플리케이션이라면, 사용해야할 것 같습니다 :>

 

잘못된 정보가 있거나, 다른 의견이 있으시다면 피드백 부탁드립니다. 감사합니다 :) 

 

'IT > DB' 카테고리의 다른 글

JDBC와 ODBC의 차이에 대해서  (0) 2022.03.06