반응형

2023/07/03 2

[스프링 DB] 커넥션 풀과 DataSource의 개념

[스프링 DB] 커넥션 풀과 DataSource의 개념 커넥션 요청 문제 우리가 개발한 애플리케이션이 DB와 통신하기 위해서는 커넥션이 필요합니다. JDBC를 사용하면 아래와 같은 흐름으로 커넥션을 획득합니다. JDBC가 제공하는 DriverManager는 라이브러리에 등록된 DB 드라이버들을 관리하고, 커넥션을 획득합니다. 문제 그런데 이와 같은 과정은 문제가 있습니다. 바로 커넥션을 매번 새롭게 만들어야하기 때문입니다. 커넥션을 새로 생성하는 과정은 생각보다 많은 리소스를 사용합니다. 커넥션 풀 이러한 문제를 해결하기 위해 나온 방법이 바로 커넥션 풀이라는 방법 입니다. 커넥션 풀 방법은 커넥션을 미리 생성해두고 필요할 때 꺼내서 사용하고 사용을 마친후 다시 커넥션 풀에 반납하는 방법 입니다. 커넥션..

[스프링 DB] JDBC의 개념

[스프링 DB] JDBC의 개념 JDBC 등장 이전 문제 인식 애플리케이션을 개발할 때 중요한 데이터는 대부분 데이터베이스에 보관합니다. 왜 데이터베이스에 보관할까요? 🤔 그 이유는 데이터베이스는 트랜잭션이라는 개념을 지원하기 때문입니다. App Server와 DB의 흐름 1. 커넥션 연결: 주로 TCP/IP를 사용해서 커넥션을 연결 2. SQL 전달: App Server는 DB가 이해할 수 있는 SQL을 커넥션을 통해 DB에 전달 3. 결과 응답: DB는 전달받은 SQL을 실행하고 그 결과에 응답 고객사의 요청으로 DB를 MySQL에서 Oracle로 변경하게 된다면 어떻게 될까요?🤔 MySQL과 Oracle는 커넥션을 연결하는 방법, SQL을 전달하는 방법, 결과를 응답 받는 방법이 모두 다릅니다. 다..

반응형