본문 바로가기

spring/수업내용

[Spring] 커넥션 풀

 커넥션 풀이란? 

데이터베이스와 연결된 커넥션을 미리 만들어서 풀(pool) 속에 저장해 두고 있다가 필요할 때에 커넥션을 풀에서 가져다 쓰고, 사용이 끝나면 다시 풀에 반환하는 기법

 

특징

 - 커넥션을 생성하는 데 드는 연결 시간이 소비되지 않는다.
 - 커넥션을 재사용하기 때문에 생성되는 커넥션 수가 많지 않다.
 

 

 커넥션 풀이란 DB연결하는 커넥션을 미리 생성해 두고, 풀에 저장해 두었다 필요할 때 꺼내 쓰고, 사용 후에는   다시 풀에 반환하는 기법을 말한다(멀티쓰레드의 쓰레드풀과 유사하다.)
커넥션을 미리 생성해 두기 때문에 커넥션을 사용자가 DB를 사용할 때마다 매번 생성을  하는 것보다 더 빠른 속도를 보장한다.
또한 커넥션의 최대 생성 개수도 제어해 주기 때문에 많은 사용자가 몰려도 과부화를 방지할 있다

커넥션 풀의 오픈소스에는 대표적으로 DBCPC3P0이 있는데 여기선 DBCP를 사용하였다. DBCP는 아파치 사이트에서 받을 수 있다.

외에 DBCP에서 사용한 PoolCommons Pool필요하다.부가적으로 로그 기록에 사용되는 Commons Logging도 필요하다.