기타
DBCP (Database Connection Pool, 커넥션 풀)
보겸삼촌
2021. 1. 19. 22:46
이번 포스팅에서는 DBCP 커넥션 풀에 대해서 알아보도록 함
# DBCP (Database Connection Pool, 커넥션 풀)
데이터베이스와 연결된 커넥션을 미리 만들어서 저장해두고 있다가 필요할 때 저장된 공간(pool)에서 가져다 쓰고 반환하는 기법 |
커넥션 풀을 이용하면 커넥션을 미리 만들어두고 사용하기 때문에 매번 사용자가 요청할 경우 드라이버를 로드하고, 커넥션 객체를 생성해 연결하고 종료하는 비효율적인 작업을 하지 않아도 됨.
즉, 데이터베이스의 부하를 줄일 수 있고 자원을 효율적으로 관리할 수 있음.
서버는 동시에 사용할 수 있는 사람의 수라는 개념이 존재함. 일반적인 커넥션을 이용하면 동시 접속자 수를 벗어날 경우 에러가 발생할 수 있음
이를 해결하기 위한 방법이 커넥션 풀.
커넥션 풀 : 동시 접속자가 가질 수 있는 커넥션을 하나로 모아놓고 관리한다는 개념 |
누군가 접속하면 자신이 관리하는 풀에서 남아있는 커넥션을 제공하지만, 남아있는 커넥션이 없는 경우라면 해당 클라이언트는 대기 상태로 전환시킴.
그리고 커넥션이 다시 풀에 들어오면 대기 상태에 있는 클라이언트에게 순서대로 제공.