[Day 14 | DB] Database Connection Pool

y♡ding·2024년 10월 31일
0

데브코스 TIL

목록 보기
92/163

커넥션 풀(Connection Pool)은 데이터베이스와의 연결을 효율적으로 관리하기 위한 미리 생성된 데이터베이스 연결(Connection)의 집합입니다. 애플리케이션이 데이터베이스에 연결할 때마다 새로운 커넥션을 생성하고 닫으면 성능 저하가 발생할 수 있기 때문에, 이러한 과정을 최적화하기 위해 커넥션 풀을 사용합니다. 커넥션 풀은 미리 일정 수의 커넥션을 준비해 두고, 애플리케이션이 요청할 때 즉시 사용할 수 있도록 하여 성능을 향상시킵니다.

커넥션 풀의 작동 방식

1. 풀 초기화: 애플리케이션 시작 시 미리 일정 수의 데이터베이스 커넥션을 생성해 풀에 넣습니다.
2. 커넥션 요청 및 할당: 애플리케이션이 데이터베이스에 접근하려고 할 때, 커넥션 풀에서 사용 가능한 커넥션을 할당합니다.
3. 커넥션 반환: 사용이 끝난 커넥션은 닫지 않고 풀로 반환하여 재사용할 수 있도록 합니다.
4. 풀 관리: 커넥션 풀은 최소 및 최대 커넥션 수를 설정하여, 필요 시 새로운 커넥션을 추가로 생성하거나 사용하지 않는 커넥션을 닫습니다.

주요 커넥션 풀 라이브러리

  • Apache DBCP (Database Connection Pooling): 성능과 안정성이 검증된 커넥션 풀 라이브러리로, Apache Commons 라이브러리의 일부로 제공됩니다.
  • HikariCP: 빠른 성능과 가벼운 구조로 인기 있는 커넥션 풀 라이브러리로, 특히 고성능을 요구하는 애플리케이션에 적합합니다.
  • C3P0: 널리 사용되는 커넥션 풀 라이브러리 중 하나로, 설정이 용이하고 안정성이 높은 편입니다.

DataSource (Java SE 17 & JDK 17)
커넥션 풀이란 (Connection Pool)

0개의 댓글

관련 채용 정보