The Importance of Sharing

JDBC API


Yang sudah pernah membuat program atau aplikasi yang terhubung ke database pasti sudah tahu apa itu JDBC atau Java Database Connectivity. Ya, JDBC merupakan sebuah standar didalam pemrograman java untuk mengakses sebuah relational database. Dengan JDBC kita dapat melakukan 3 hal :

  1. Membuat koneksi ke sebuah database.
  2. Mengirim perintah SQL.
  3. Memproses hasil query.

JDBC hanyalah sebuah API yang berisikan interface dan class yang digunakan untuk segala sesuatu yang berhubungan dengan mengolah data didalam database, mulai dari koneksi hingga melakukan sebuah Query. Sehingga jika kita ingin menggunakannya untuk mengakses, mengirim perintah SQL, atau memproses hasil dari query sebuah database maka kita harus menggunakan JDBC Driver. JDBC Driver mengimplementasikan interface dan class dari JDBC API untuk vendor DBMS tertentu, sehingga masing – masing vendor DBMS memiliki JDBC Driver yang berbeda – beda.

Sun mengelompokkan JDBC kedalam 4 tipe yaitu :

  1. Type 1 : JDBC-ODBC Bridge Driver.
  2. Type 2 : Driver – the Native-API Driver.
  3. Type 3 : driver – the Network-Protocol Driver.
  4. Type 4 : the Native-Protocol Driver.

1. Type 1 :  JDBC-ODBC Bridge Driver.

JDBC tipe ini merupakan implementasi driver database yang berfungsi untuk mengkoneksikan ODBC Driver dengan database. Driver tipe ini mengkonversikan method – method yang dipanggil didalam JDBC menjadi method atau fungsi pada ODBC driver. Driver ini digunakan ketika java tidak memiliki driver untuk melakukan koneksi ke vendor database tertentu. Driver ini diimplementasikan pada class sun,jdbc.odbc.JdbcOdbcDriver. Driver ini sangat tergantung pada paltform yang digunakan, dimana ODBC Driver akan tergantung pada native library Sistem Operasi dimana JVM dijalankan.
Diagram JDBC Driver Tipe 1
Keuntungan :

  1. Tugas untuk menerjemahkan query yang dihasilkan oleh JDBC ke query yang bisa dipahami oleh ODBC, dilakukan oleh ODBC
  2. Hampir semua database memiliki ODBC Driver, dan bisa diakses menggunakan JDBC Bridge Driver.

Kerugian :

  1. ODBC Driver harus diinstal di setiap komputer
  2. Kinerja JDBC lebih berat karena harus melalui ODBC untuk bisa mengakses ke DatabaseClient –> JDBC Driver –> ODBC Driver –> Database

2. Type 2 : Driver – the Native-API Driver.

JDBC tipe 2 juga disebut sebagai Native API Driver, adalah suatu implementasi dari JDBC Driver yang menggunakan client-side libraries suatu vendor database tertentu. Driver akan menterjemahkan method – method JDBC menjadi native calls database API. Driver tipe 2 tidak seluruhnya ditulis menggunakan bahasa Java seperti interface yang diimplementasikan ke dalam class – class tertentu. Driver ini di compile untuk digunakan pada Sistem Operasi tertentu sehingga Driver bersifat Platform-dependent. Misalnya dengan database Oracle, akses yang digunakan mungkin melalui library Oracle Call Interface(OCI) yang dibuat oleh programer C/C++. Driver tipe 2 diimplementasikan sebagai kode native, sehingga mungkin saja driver tipe ini lebih baik daripada semua tipe driver lainnya namun, driver ini juga memiliki kelemahan, yaitu berupa crashnya code Driver tipe 2 dengan JVM.
Diagram Driver JDBC Tipe 2

Keuntungan :

  1. Memiliki Performa yang bagus daripada JDBC Tipe 1.
  2. Memiliki Kecepatan yang lebih baik daripada 3 JDBC tipe lainnya.

Kerugian:

  1. client library harus diinstall di setiap komputer client.
  2. Tidak semua vendor database memiliki client library.
  3. Driver sangat tergantung pada platform yang digunakan.
  4. Driver ini tidak mendukung java Applet.

3. Type 3 : driver – the Network-Protocol Driver.

Driver Tipe ini disebut juga sebagai Pure Java Driver for Database Middleware. Mengapa disebut demikian, karena tie driver ini akan menterjemahkan pemanggilan JDBC baik secara langsung maupun tidak langsung ke dalam protokol vendor database tertentu. Konversi protokol ini berlangsung di middle tier (di tengah), hal ini berbeda dengan Driver Tipe 4 dimana pada tipe 4 konversi protokol berlangsung pada client. Driver ini sangat fleksibel karena tidak perlu diinstall disetiap komputer, dan driver ini dapat digunakan untuk multiple database tergantung konfigurasi yang digunakan. Driver ini tidak tergantung oleh Sistem Operasi apapun karena hubungan antara driver dengan Sistem Operasi yang digunakan akan ditangani oleh aplikasi middleware tersebut.
Diagram JDBC Driver Tipe 3
Keuntungan :

  1. Mendukung Arsitektur 3 Tier.
  2. Mendukung Mutiple Database dan tidak tergantung pada vendor Database tertentu.
  3. Tidak memerlukan client side library Database vendor tertentu.
  4. Menyediakan dukungan untuk logging, caching, load balancing dan sebgainya.
  5. Paling efisien diantara keempat jenis driver.

Kerugian :
Memerlukan layer tambahan yang bisa saja menghasilkan bottle-neck.

Type 4 : the Native-Protocol Driver.

Driver Tipe ini disebut sebagai Direct to Database Pure Java Driver, yaitu implementasi Database Driver yang secara langsung menterjemahkan pemanggilan JDBC menjadi database protokol sesuai dengan vendor database tersebut. Driver ini dibuat menggunakan bahasa java sehingga sama sekali tidak tergantung pada Sistem Operasi yang digunakan. Performanya sangat baik dibandingkan Driver tipe 1 dan tipe 2, dan tidak memerlukan perangkat lunak tambahan seperti Driver tipe 3 meskipun sama – sama menterjemahkan pemanggilan JDBC menjadi Database protocol.
Diagram JDBC Tipe 4
Keuntungan :

  1. Driver ini langsung mengakses database tanpa bantuan perantara apapun seperti ODBC dan tidak memerlukan middleware service untuk melayani request.
  2. Tidak memerlukan software khusus pada client maupun server tertentu, karena driver ini bisa menangani semuanya.

Kerugian :
Driver ini meskipun Platform-Independent namun tidak Database-Independent, sehingga jika ingin menggunakan lebih dari satu database harus menginstall masing – masing database driver sesuai vendor database tersebut.

Comments on: "JDBC API" (2)

  1. to gambarne printscreen ape nyemak uli web len?

    men print screen pedidi, jangin watermark de.

    mayan promosi men ade nak ngopy gambar cine:D

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: