Contents
- Connection Pool이 뭐임!
- Connection Pool 어따씀?
- Connection Pool 왜 씀?
Connection Pool이 뭐임!
사용자의 요청에 따라 Connection을 생성하다 보면 많은 수의 연결이 발생했을 때 서버에 과부하가 걸리게 된다. 이러한 상황을 방지하기 위해 미리 일정수의 Connection을 만들어 pool에 담아 뒀다가 사용자의 요청이 발생하면 연결을 해주고 연결 종료 시 pool에 다시 반환하여 보관하는 것이다. 보통의 경우 DB에 연결을 하고 결과를 가져온 후에 close 시켜버린다. DB에 연결하는 과정은 시간이 많이 소요되는 자원이 비싼 연산이며 성능도 많이 떨어진다. 이러한 문제점을 해결하기 위해 DB Connection pool을 사용한다. 비효율적인 Connection ~ Close 반복작업 대신 한번 맺은 DB Connection을 바로 닫지 않고 Connection pool에 저장한 뒤에 다음 번에 동일한 Connection을 요청하면 바로 pool에서 꺼내 제공을 하는 기술이다.
Connection Pool 어따씀?
Connection Pool은 JAVA 프로그램에서 데이터베이스와의 연결을 효율적으로 관리하는 역할을 한다.
Connection Pool이 왜 씀?
웹 애플리케이션은 정보 저장이 필요할 때 주로 DB를 이용한다. JAVA에서 데이터베이스로 Connection을 맺는 일은 매우 느리며 자원을 많이 소모한다. 다수의 사용자들이 동시에 데이터베이스의 Connection을 요구한다면 서버가 다운되기도 한다. 이것을 해결하기 위해 Connection Pool을 이용한다.
미리 Connection 객체들을 생성해두면 사용자는 요청 시 빠르게 데이터베이스에 젖ㅂ속할 수 있다.
데이터베이스 Connection 수를 제한할 수 있어 서버의 자원 고갈을 막을 수 있다.
데이터베이스 접속 모듈을 공통화해 서버의 환경이 바뀔 경우 유지보수를 쉽게 할 수 있다.
연결이 끝난 Connection을 재사용함으로써 새로 객체를 만드는 비용을 줄일 수 있다.
'아 이게 뭐임!' 카테고리의 다른 글
HeidiSQL이 뭐임! (0) | 2021.07.09 |
---|---|
싱글톤이 뭐임!! (0) | 2021.07.08 |
WinSCP가 뭐임! (0) | 2021.07.07 |
SQL developer가 뭐임! (0) | 2021.07.06 |
Web.xml이 뭐임! (0) | 2021.07.05 |