JDBC - Jenis Driver
Apa itu JDBC Driver?
Driver JDBC mengimplementasikan antarmuka yang ditentukan di JDBC API, untuk berinteraksi dengan server database Anda.
Misalnya, menggunakan driver JDBC memungkinkan Anda untuk membuka koneksi database dan berinteraksi dengannya dengan mengirimkan perintah SQL atau database lalu menerima hasil dengan Java.
The java.sql paket yang dikirimkan dengan JDK, berisi berbagai kelas dengan perilaku mereka didefinisikan dan implementaions mereka yang sebenarnya dilakukan dalam driver pihak ketiga. Vendor pihak ketiga mengimplementasikan antarmuka java.sql.Driver di driver database mereka.
Jenis Driver JDBC
Implementasi driver JDBC bervariasi karena beragamnya sistem operasi dan platform perangkat keras tempat Java beroperasi. Sun telah membagi tipe implementasi menjadi empat kategori, Tipe 1, 2, 3, dan 4, yang dijelaskan di bawah ini -
Jenis 1: Driver Jembatan JDBC-ODBC
Di driver Tipe 1, jembatan JDBC digunakan untuk mengakses driver ODBC yang diinstal di setiap mesin klien. Menggunakan ODBC, memerlukan konfigurasi pada sistem Anda Nama Sumber Data (DSN) yang mewakili database target.
Ketika Java pertama kali keluar, ini adalah pengandar yang berguna karena sebagian besar database hanya mendukung akses ODBC tetapi sekarang jenis pengandar ini direkomendasikan hanya untuk penggunaan eksperimental atau ketika tidak ada alternatif lain yang tersedia.
Jembatan JDBC-ODBC yang disertakan dengan JDK 1.2 adalah contoh yang baik untuk jenis driver ini.
Jenis 2: JDBC-Native API
Dalam driver Tipe 2, panggilan API JDBC diubah menjadi panggilan API C / C ++ asli, yang unik untuk database. Driver ini biasanya disediakan oleh vendor database dan digunakan dengan cara yang sama seperti JDBC-ODBC Bridge. Pengandar khusus vendor harus diinstal di setiap mesin klien.
Jika kita mengubah Database, kita harus mengubah API asli, karena khusus untuk database dan kebanyakan sudah usang sekarang, tetapi Anda mungkin menyadari beberapa peningkatan kecepatan dengan driver Tipe 2, karena itu menghilangkan overhead ODBC.
Driver Oracle Call Interface (OCI) adalah contoh dari driver Tipe 2.
Tipe 3: Java murni JDBC-Net
Dalam driver Tipe 3, pendekatan tiga tingkat digunakan untuk mengakses database. Klien JDBC menggunakan soket jaringan standar untuk berkomunikasi dengan server aplikasi middleware. Informasi soket kemudian diterjemahkan oleh server aplikasi middleware ke dalam format panggilan yang diperlukan oleh DBMS, dan diteruskan ke server basis data.
Driver semacam ini sangat fleksibel, karena tidak memerlukan kode yang diinstal pada klien dan satu driver sebenarnya dapat menyediakan akses ke banyak database.
Anda dapat menganggap server aplikasi sebagai "proxy" JDBC, yang berarti bahwa ia membuat panggilan untuk aplikasi klien. Akibatnya, Anda memerlukan pengetahuan tentang konfigurasi server aplikasi agar dapat menggunakan jenis driver ini secara efektif.
Server aplikasi Anda mungkin menggunakan driver Tipe 1, 2, atau 4 untuk berkomunikasi dengan database, memahami nuansanya akan sangat membantu.
Ketik 4: 100% Pure Java
Dalam pengandar Tipe 4, pengandar berbasis Java murni berkomunikasi langsung dengan database vendor melalui koneksi soket. Ini adalah driver performa tertinggi yang tersedia untuk database dan biasanya disediakan oleh vendor itu sendiri.
Driver semacam ini sangat fleksibel, Anda tidak perlu menginstal perangkat lunak khusus pada klien atau server. Selanjutnya, driver ini dapat diunduh secara dinamis.
Driver Konektor / J MySQL adalah driver Tipe 4. Karena sifat kepemilikan protokol jaringan mereka, vendor database biasanya menyediakan driver tipe 4.
Driver Mana yang Harus Digunakan?
Jika Anda mengakses satu jenis database, seperti Oracle, Sybase, atau IBM, jenis driver yang disukai adalah 4.
Jika aplikasi Java Anda mengakses beberapa tipe database secara bersamaan, tipe 3 adalah driver yang disukai.
Driver tipe 2 berguna dalam situasi, di mana driver tipe 3 atau tipe 4 belum tersedia untuk database Anda.
Pengandar tipe 1 tidak dianggap sebagai pengandar tingkat penyebaran, dan biasanya digunakan untuk tujuan pengembangan dan pengujian saja.