Search

DB Connection & Connection Pool & DataSource

Connection

쿼리가 0.1초 소요된다면, 여기서 가장 느린 부분은 Connection 객체를 얻는 부분이다.
DB와 WAS 사이 통신이 필요하기 때문에 사용자가 갑자기 증가하면 Connection을 얻는 부분에서 많은 시간이 소요된다.

Connection Pool

Connection 객체를 생성하는 부분에서 발생하는 대기 시간을 중리고, 네트워크 부담을 줄이기 위해 DB Connection Pool이 등장했다.
모든 WAS에서 Connection Pool을 제공하고 있다.
그러나 아직 자바 표준으로 지정되어 있는 것이 없다. 따라서 WAS 벤더에 따라 사용법이 많이 상이할 수 있다.

DataSource

JDK 1.4부터 생긴 표준이다. 그러므로 WAS에 상관 없이 사용법이 동일하다.
Connection Pool로 연결을 관리해야 하고, 트랜잭션 관리도 가능하게 만들어야 한다. 그러므로 DataSource가 DB Connection Pool을 포함한다고 생각하면 된다.