JDBC 드라이버란
JDBC 드라이버는 데이터베이스 서버와 상호 작용하기 위해 JDBC API에서 정의된 인터페이스를 구현합니다.
예를 들어, JDBC 드라이버를 사용하면 데이터베이스 연결을 열고 SQL 또는 데이터베이스 명령을 보내고 JAVA로 결과를 받을 수 있습니다. JDK와 함께 제공되는 java.sql 패키지에는 다양한 클래스가 정의되어 있으며 실제 구현은 서드 파티 드라이버에서 이루어집니다. 서드 파티 벤더는 java.sql.Driver 인터페이스를 데이터베이스 드라이버에 구현합니다.
JDBC 드라이버 종류
JDBC 드라이버 구현은 JAVA가 동작하는 다양한 운영 체제와 하드웨어 플랫폼 때문에 다릅니다. Sun은 구현 유형을 네 가지 카테고리로 나누었습니다.
Type 1 - JDBC-ODBC 브리지 드라이버
type1 드라이버에서 각 클라이언트 머신에 설치된 ODBC 드라이버에 접근하기 위해 JDBC 브리지를 사용합니다. ODBC를 사용하려면 대상 데이터베이스를 나타내는 데이터 소스 이름을 시스템에 구성해야 합니다.
JAVA가 처음 나왔을 때, 대부분의 데이터베이스가 ODBC 접근만을 지원했기 때문에 이 드라이버는 유용했지만, 이제 이 유형의 드라이버는 실험적 사용 또는 다른 대안이 없을 때만 권장됩니다.
Type 2 - JDBC-Native API
Type2 드라이버에서는 JDBC API 호출이 데이터베이스에 고유한 네이티브 C/C++ API 호출로 변환됩니다. 이러한 드라이버는 일반적으로 데이터베이스 벤더에서 제공하며 JDBC-ODBC 브리지와 동일한 방식으로 사용됩니다. 벤더 특정 드라이버는 각 클라이언트 머신에 설치해야 합니다.
데이터베이스를 변경하면 네이티브 API도 변경해야 하기 때문에 특정 데이터베이스에 종속적이며 대부분 이제 사용되지 않습니다. 그러나 ODBC의 오버헤드를 제거하기 때문에 Type 2 드라이버를 사용하면 속도 향상을 실현할 수 있습니다.
Type 3 JDBC-Net 순수 자바
Type 3 드라이버에서는 데이터베이스에 접근하기 위해 3계층 접근 방식을 사용합니다. JDBC 클라이언트는 표준 네트워크 소켓을 사용하여 미들웨어 애플리케이션 서버와 통신합니다. 소켓 정보는 미들웨어 애플리케이션 서버에 의해 DBMS가 요구하는 호출 형식으로 변환된 후 데이터베이스 서버로 전달됩니다. 이 드라이버는 클라이언트에 코드 설치가 필요 없고, 단일 드라이버로 여러 데이터베이스에 접근할 수 있기 때문에 유연합니다.
미들웨어 서버를 JDBC 프록시로 생각할 수 있으며, 이는 클라이언트 애플리케이션을 위해 호출을 수행합니다. 이 드라이버 유형을 효과적으로 사용하려면 애플리케이션 서버의 구성에 대한 지식이 필요합니다.
Type 4 - 100% 순수 Java
Type4 드라이버에서는 순수 Java 기반 드라이버가 소켓 연결을 통해 벤더의 데이터베이스와 직접 통신합니다. 이 드라이버는 데이터베이스에 대해 가장 높은 성능을 제공하며, 일반적으로 벤더에서 제공합니다. 이 드라이버는 매우 유연하며, 클라이언트나 서버에 특별한 소프트웨어를 설치할 필요가 없습니다. 또한 이러한 드라이버는 동적으로 다운로드할 수 있습니다.
하나의 유형의 데이터베이스에 접근하는 경우 선호되는 드라이버 유형은 4입니다.
자바 애플리케이션이 동시에 여러 유형의 데이터베이스에 접근하는 경우, 선호되는 드라이버 유형은 3입니다.
'Databases > JDBC' 카테고리의 다른 글
[JDBC] ResultSet란 (0) | 2024.07.05 |
---|---|
[JDBC] Statements, PreparedStatement and CallableStatement (0) | 2024.07.05 |
[JDBC] 데이터베이스 연결 설정 (1) | 2024.07.05 |
[JDBC] JAVA에서 데이터베이스 연결해보기 (0) | 2024.07.05 |
[JDBC] JDBC란 (0) | 2024.07.05 |