기타

DBCP (Database Connection Pool, 커넥션 풀)

보겸삼촌 2021. 1. 19. 22:46

이번 포스팅에서는 DBCP 커넥션 풀에 대해서 알아보도록 함

 

 

# DBCP (Database Connection Pool, 커넥션 풀)

데이터베이스와 연결된 커넥션을 미리 만들어서 저장해두고 있다가 필요할 때

저장된 공간(pool)에서 가져다 쓰고 반환하는 기법

 커넥션 풀을 이용하면 커넥션을 미리 만들어두고 사용하기 때문에 매번 사용자가 요청할 경우 드라이버를 로드하고, 커넥션 객체를 생성해 연결하고 종료하는 비효율적인 작업을 하지 않아도 됨.

 

 즉, 데이터베이스의 부하를 줄일 수 있고 자원을 효율적으로 관리할 수 있음.

 

 서버는 동시에 사용할 수 있는 사람의 수라는 개념이 존재함. 일반적인 커넥션을 이용하면 동시 접속자 수를 벗어날 경우 에러가 발생할 수 있음

 

이를 해결하기 위한 방법이 커넥션 풀.

 

 커넥션 풀

     : 동시 접속자가 가질 수 있는 커넥션을 하나로 모아놓고 관리한다는 개념

 

 

 누군가 접속하면 자신이 관리하는 풀에서 남아있는 커넥션을 제공하지만, 남아있는 커넥션이 없는 경우라면 해당 클라이언트는 대기 상태로 전환시킴.

 그리고 커넥션이 다시 풀에 들어오면 대기 상태에 있는 클라이언트에게 순서대로 제공.