728x90
DB 연결 기술의 발전 순서
- 애플리케이션 - 서버 - 디비 모델이 많다.
- 애플리케이션 ↔ 디비 사이의 로직
- 커넥션 연결 : 주로 TCP/IP를 사용해서 커넥션을 연결한다.
- SQL 전달
- 결과 응답
- 그런데 각각의 데이터베이스마다 사용법이 달랐다.
- 커넥션 연결 방법, SQL 전달 방법, 결과 응답 방법
- JDBC라는 표준 인터페이스의 등장
- Java Database Connectivity
- 커넥션 연결 : Connection
- SQL 전달 : Statement
- 결과 응답 : ResultSet
- Java Database Connectivity
- SQL Mapper
- JDBCTemplate, MyBatis
- JDBC를 편리하게 사용하도록 도와준다.
- SQL 응답 결과를 편리하게 변환해준다.
- JDBC의 반복 코드를 제거해준다.
- 개발자가 SQL을 직접 작성해야한다.
- ORM
- 객체를 관계형 데이터베이스 테이블과 매핑해주는 기술
Connection Pool
데이터 베이스 커넥션 획득 과정
- 사용자의 요청
- 애플리케이션 로직
- DB 드라이버에서 커넥션 조회
- TCP/IP 커넥션 연결
- ID, PWD 부가 정보 전달
- 커넥션 생성
- DB 내부에서 인증 및 DB 세션 생성
- DB 드라이버에서 커넥션 반환
애플리케이션에서의 사용
- 애플리이션을 시작하는 기점에 커넥션 풀은 필요한만큼 커넥션을 미리 확보한다
- 요청이 들어오면 커넥션을 사용하고 커넥션이 살아있는 상태로 커넥션 풀에 반환
- 서버에서 최대로 사용하는 커넥션의 수를 제한
Data Source 이해
- DriverManager, DBCP2 커넥션 풀, HikariCP 커넥션 풀 등 커넥션을 조회하는 과정을 추상화해주는 인터페이스
728x90