애플리케이션과 DB간의
커넥션 생성의 복잡성, 비용을 줄이기 위해 사용합니다.
애플리케이션에서 DB에 접근을 할때마다 커넥션을 항상 생성해야 합니다.
그리고 그 과정은 아래와 같이 복잡하고 비용이 많이 들어갑니다.
- 애플리케이션의 로직은 DB 드러이버를통해 커넥션 조회
- DB 드라이버는 DB와 TCP/IP 연결
- DB 드라이버는 3 way handshake 정상 연결 후 IP, PW 등 환경변수 DB에 전달
- DB는 내부 인증 후, 내부에 DB 세션 생성
- DB는 커넥션 생성 완료 응답
- DB드라이버는 커넥션 객체 생성해 클라이언트에 반납
위 과정을 미리 여러번 해서 커넥션을 여러개 만들어 놓는 것이 커넥션 풀입니다.
커넥션 풀의 장점
- 커넥션 풀에 있는 커넥션은 TCP/IP로 DB와 커넥션이 되어있는 상태입니다.
- 커넥션을 종료하지 않고 커넥션 풀에 반환하여 생성의 부담을 줄입니다.
주의사항
- 적절한 커넥션 풀의 커넥션 수를 정해야 합니다.
- 너무 적으면 스레드의 대기시간이 길어져 응답 시간이 길어집니다.
- 성능 테스트를 통해 적절하게 정해야 합니다.
- 대부분 안정성이 검증되어있는 대표적인 커넥션 풀 HikariCP를 사용합니다.
마무리
애플리케이션과 DB의 연결과정에서 소비되는 비용이 많음에 따라 커넥션풀을 사용하는것을 알았습니다.
이번에 배운것은 연결에서는 항상 시간비용과 안정적인지가 중요하다는것을 알게되었습니다.
'DB' 카테고리의 다른 글
DB 락 (0) | 2023.08.18 |
---|---|
트랜잭션 (0) | 2023.08.18 |
DataSource란? (0) | 2023.08.17 |
애플리케이션과 DB간의
커넥션 생성의 복잡성, 비용을 줄이기 위해 사용합니다.
애플리케이션에서 DB에 접근을 할때마다 커넥션을 항상 생성해야 합니다.
그리고 그 과정은 아래와 같이 복잡하고 비용이 많이 들어갑니다.
- 애플리케이션의 로직은 DB 드러이버를통해 커넥션 조회
- DB 드라이버는 DB와 TCP/IP 연결
- DB 드라이버는 3 way handshake 정상 연결 후 IP, PW 등 환경변수 DB에 전달
- DB는 내부 인증 후, 내부에 DB 세션 생성
- DB는 커넥션 생성 완료 응답
- DB드라이버는 커넥션 객체 생성해 클라이언트에 반납
위 과정을 미리 여러번 해서 커넥션을 여러개 만들어 놓는 것이 커넥션 풀입니다.
커넥션 풀의 장점
- 커넥션 풀에 있는 커넥션은 TCP/IP로 DB와 커넥션이 되어있는 상태입니다.
- 커넥션을 종료하지 않고 커넥션 풀에 반환하여 생성의 부담을 줄입니다.
주의사항
- 적절한 커넥션 풀의 커넥션 수를 정해야 합니다.
- 너무 적으면 스레드의 대기시간이 길어져 응답 시간이 길어집니다.
- 성능 테스트를 통해 적절하게 정해야 합니다.
- 대부분 안정성이 검증되어있는 대표적인 커넥션 풀 HikariCP를 사용합니다.
마무리
애플리케이션과 DB의 연결과정에서 소비되는 비용이 많음에 따라 커넥션풀을 사용하는것을 알았습니다.
이번에 배운것은 연결에서는 항상 시간비용과 안정적인지가 중요하다는것을 알게되었습니다.
'DB' 카테고리의 다른 글
DB 락 (0) | 2023.08.18 |
---|---|
트랜잭션 (0) | 2023.08.18 |
DataSource란? (0) | 2023.08.17 |