개발스토리

Database Connection Pool 본문

Computer Science/데이터베이스

Database Connection Pool

무루뭉 2021. 8. 30. 14:31

데이터베이스에 접근해서 원하는 연산을 처리하려면 Connection 객체를 얻어와야 한다. 

디비 서버와 애플리케이션 사이에서의 통신이기 때문에 시간이 오래 걸린다.

그렇다면, 사용자가 몰린다면 당연히 Connection 객체를 얻기 위해 엄청난 시간이 소모될 것이다.

 

이러한 문제를 해결하고자 필요한 양만큼의 Connection 객체를 미리 두고, Connection 요청이 들어와 객체를 생성하는 부분에서 발생하는 대기 시간을 줄이고 네트워크의 부담을 줄이고자 하는 것이 DB Connection Pool이다.

 

하지만, 요청에 따라 무작정 Connection을 많이 생성하면 서버에 과부하가 걸린다. 그래서 미리 설정해놓은 적당한 수의 Connection을 만들어 두고 Connection Pool에 보관해두었다가 요청이 발생하면 주고, 사용이 끝나면 다시 반환받아 보관하는 기술을 사용한다.

 

정리하면, 아래와 같은 장점을 가진다.

 

■ Connection 객체를 미리 만들어 놓고 연결하기 때문에 빠르다.

■ Connection 수를 제한하여 과도한 접속으로 인한 서버 자원 고갈 방지

■ DB 서버의 환경이 바뀔 경우 쉬운 유지 보수가 가능

■ 연결이 끝난 Connection 재사용해서 객체를 만드는 비용 감소

 

 

 

 

 

참고 https://minkwon4.tistory.com/168

 

 

'Computer Science > 데이터베이스' 카테고리의 다른 글

권한 관리  (0) 2021.06.07
회복과 병행제어4  (0) 2021.06.06
회복과 병행제어3  (0) 2021.05.25
회복과 병행제어2  (1) 2021.05.25
회복과 병행 제어  (0) 2021.05.24
Comments