DB/JDBC

JDBC부터 DataSource까지

행운개발자 2024. 1. 30. 09:30
728x90

DB 연결 기술의 발전 순서

  • 애플리케이션 - 서버 - 디비 모델이 많다.
  • 애플리케이션 ↔ 디비 사이의 로직
    1. 커넥션 연결 : 주로 TCP/IP를 사용해서 커넥션을 연결한다.
    2. SQL 전달
    3. 결과 응답
  • 그런데 각각의 데이터베이스마다 사용법이 달랐다.
    • 커넥션 연결 방법, SQL 전달 방법, 결과 응답 방법
  • JDBC라는 표준 인터페이스의 등장
    • Java Database Connectivity
      • 커넥션 연결 : Connection
      • SQL 전달 : Statement
      • 결과 응답 : ResultSet
  • SQL Mapper
    • JDBCTemplate, MyBatis
    • JDBC를 편리하게 사용하도록 도와준다.
    • SQL 응답 결과를 편리하게 변환해준다.
    • JDBC의 반복 코드를 제거해준다.
    • 개발자가 SQL을 직접 작성해야한다.
  • ORM
    • 객체를 관계형 데이터베이스 테이블과 매핑해주는 기술

Connection Pool

데이터 베이스 커넥션 획득 과정

  1. 사용자의 요청
  2. 애플리케이션 로직
  3. DB 드라이버에서 커넥션 조회
    1. TCP/IP 커넥션 연결
    2. ID, PWD 부가 정보 전달
    3. 커넥션 생성
    4. DB 내부에서 인증 및 DB 세션 생성
  4. DB 드라이버에서 커넥션 반환

애플리케이션에서의 사용

  • 애플리이션을 시작하는 기점에 커넥션 풀은 필요한만큼 커넥션을 미리 확보한다
  • 요청이 들어오면 커넥션을 사용하고 커넥션이 살아있는 상태로 커넥션 풀에 반환
  • 서버에서 최대로 사용하는 커넥션의 수를 제한

Data Source 이해

  • DriverManager, DBCP2 커넥션 풀, HikariCP 커넥션 풀 등 커넥션을 조회하는 과정을 추상화해주는 인터페이스

 

728x90