JDBC (2) : Tipe Driver

Oleh : Reza Ervani

Referensi :

  1. Tutorials Point – JDBC Introduction|
  2. Vogella – MySQL and JDBC – Lars Vogel
  3. Eclipse & JDBC – Russell Bateman

بسم الله الرحمن الرحيم

 

Apa itu Driver JDBC ?

Driver JDBC mengimplementasikan antarmuka tertentu di API JDBC untuk berinteraksi dengan server database kita.

Sebagai contoh, menggunakan driver JDBC memperkenankan kita untuk membuka koneksi databse dan berinteraksi dengan mengirimkan perintah SQL atau database kemudian menerima hasilnya di Java.

Paket Java.sql yang disertakan dalam JDK berisi beragam class dimana sifat-sifatnya ditentukan dan implementasi aktualnya dilakukan di dalam driver pihak ketiga. Vendor pihak ketiga mengimplementasikan antarmuka driver java.sql di dalam driver database yang mereka miliki.

Tipe-tipe Driver JDBC

Implementasi JDBC sangat bergama karena banyaknya jenis platform sistem operasi dan perangkat keras yang mengoperasikan Java. Sun telah memisahkan tipe implementasi ke dalam empat kategori.

Tipe 1: JDBC-ODBC Bridge Driver:

Pada driver tipe 1, suatu bridge JDBC digunakan untuk mengakses driver-driver ODBC yang diinstall pada tiap mesin klien. Menggunakan ODBC membutuhkan kita untuk mengkonfigurasi sistem kita suatu Data Source Name (DSN) yang mewakili database target.

Saat pertama kali Java keluar, ini adalah driver yang sangat berguna, karena kebanyakan database hanya mendukung akses ODBC tetapi kini tipe driver ini hanya direkomendasikan untuk penggunaan eksperimental atau ketika tidak ada alternatif lain yang tersedia.

driver-type1

Type 2: JDBC-Native API:

Pada driver tipe 2, panggilan API JDBC dikonversi kedalam panggilan API C/C++ yang unik untuk database. Driver ini umumnya disediakan oleh vendor database dan digunakan dengan cara yang sama dengan JDBC-ODBC Bridge, dimana driver vendor-specific mestilah diinstall pada tiap-tiap mesin klien.

Jika kita merubah database, kita harus merubah API native karena dia khusus untuk satu databse dan kebanyakan sudah tidak lagi terpakai saat ini. Tapi kecepatan saat menggunakan driver tipe 2 ini lebih cepat karena dia menghilangkan overhead ODBC.

 driver-type2

 

Tipe 3: JDBC-Net pure Java

Pada driver tipe 3, sebuah pendekatan 3 tier digunakan untuk mengakses database. Klien JDBC menggunakan soket network standar untuk berkomunikasi dengan sebuah server aplikasi middleware. Informasi soket kemudian diterjemahkan oleh server aplikasi middleware ke dalam format panggilan yag diminta oleh DBMS dan meneruskannya ke server database.

Jenis driver ini sangat fleksibel, karena tidak membutuhkan kode yang diinstall di klien dan satu driver tunggal dapat menyediakan akses ke beragama database.

driver-type3

Kita dapat menganggap server sebagai “proxy” JDBC, yang berarti dia membuat panggilan untuk aplikasi klien. Sebagai hasilnya, kita perlu beberapa pengetahuan terkait konfigurasi server aplikasi agar dapat secara efektif menggunakan driver tipe ini.

Aplikasi kita dapat saja menggunakan driver tipe 1, 2 atau 4 untuk berkomunikasi dengan database.

Tipe 4: 100% Java murni

Pada driver tipe 4, sebuah driver java murni yang berkomunikasi langsung dengan database vendor melalui koneksi soket. Ini adalah driver dengan performa paling tinggi yang tersedia untuk databse dan biasanya disediakan oleh vendor itu sendiri.

Jenis driver ini sangat fleksibel. Kita tidak perlu menginstall perangkat lunak khusus pada klien ataupun server. Lebih jauh, driver ini dapat diunduh secara dinamis.

driver-type4

Driver MySQL’s Connector/J adalah driver tipe 4. Dikarenakan lingkungan proprietary pada protokol networknya, vendor database biasanya menyediakan driver tipe 4.

Driver mana yang harus saya gunakan ?

Jika kita mengakses salah satu tipe dari database, misalnya Oracle, Sybase atau IBM, maka driver tipe 4 lebih disukai.

Jika aplikasi Java kita mengakses beragam tipe database dalam waktu yang sama, maka tipe 3 lebih disukai

Driver tipe 2 berguna dalam situasi dimana driver tipe 3 atau tipe 4 tidak tersedia.

Driver tipe 1 tidak direkomendasikan sebagai driver pada level deployment dan umumnya hanya digunakan untuk keperluan pengembangan dan pengujian

Bersambung insya Allah (reza@rumahilmu.or.id)

About Reza Ervani 387 Articles
Adalah pendiri programming.rezaervani.com -

Be the first to comment

Leave a Reply

Your email address will not be published.


*


This site uses Akismet to reduce spam. Learn how your comment data is processed.