데이터베이스에 연결하기 위한 Connection 은 객체입니다.
이 객체는 만들어질 때마다 많은 시스템 자원이 필요합니다.
메모리에 객체를 할당할 자리를 만들고 또 객체가 사용할 여러 자원들에 대한 초기화 작업, 또 한 이 객체가 더 이상 필요 없을 때 객체를 거둬들이는 작업이 필요합니다.
이런 작업등이 요구되어서 객체의 생성작업은 많은 비용을 요구하게 됩니다.
데이터베이스 커넥션은 데이터베이스에 한 번 연결하기 위한 작업인데, 이러한 작업을 매번 새로운 데이터베이스 연결에 대한 요청이 들어올 때 마다 수행해야한다면 많은 오버헤드가 발생할 것입니다.
이런 문제를 해결하기 위해서 커넥션 풀이라는 개념이 등장헀고, 커넥션 객체들을 만들어 놓은 후 커넥션 객체가 필요한 경우 작성한 객체를 할당해 주고, 사용이 끝난 후에는 다시 커넥션 풀로 회수하는 방법을 사용합니다.
즉, 대여방식인 것입니다.
커넥션 풀은 끊임 없이 생성되는 커넥션 문제 해결이 목적으로, 반드시 컨테이너에서 1개만 만들어지도록 해야합니다.
톰캣의 5.0x 버젼부터 커넥션 풀을 제공하고 있습니다.
혹은 자카르타 API를 사용해도 상관없습니다.
'개발 > Web Programming' 카테고리의 다른 글
Maven VS Gradle (0) | 2020.01.01 |
---|---|
모델1 vs 모델2 (0) | 2019.12.15 |
세션이란? (0) | 2019.12.13 |
쿠키란? (0) | 2019.12.13 |
Javascript에서의 deepcopy (0) | 2019.12.11 |