Perbedaan Antara OLEDB dan ODBC

ODBC vs OLEDB

Jika Anda tahu apa itu, Anda mungkin seorang pengembang. Jika Anda tidak tahu apa itu, tetapi ingin tahu - Anda mungkin pengembang masa depan.

Karena sifat teknis perbandingan ini, saya menyertakan glosarium istilah di akhir artikel. Jika Anda baru dalam hal semacam ini, Anda mungkin ingin melihatnya dulu.

Mari kita lihat istilah-istilah ini, untuk apa mereka digunakan dan yang saya rekomendasikan.

Menentukan Ketentuan

Arsitektur Driver ODBC

ODBC adalah kependekan dari Open Database Connecting. Ini adalah standar antarmuka, dirancang untuk komunikasi antara berbagai aplikasi dan sistem operasi (OS).

Seperti, misalnya, jika Anda menggunakan menulis program untuk Linux, tetapi Anda ingin saya bekerja di (OS) juga. Jawaban Anda adalah API seperti ODBC.

Di masa lalu, program yang digunakan untuk ditulis ulang seluruhnya untuk OS baru atau berbeda. Prosesnya tidak efisien.

ODBC muncul pada tahun 1992 untuk menyelesaikan masalah itu.

ODBC pada awalnya dibuat untuk Structured Query Language (SQL). Sejak itu diperluas untuk menangani lebih banyak bahasa pemrograman.

OLE BD adalah kependekan dari Object Linking and Embedding Database. Ini adalah grup API yang dirancang untuk menyediakan akses ke data aplikasi dalam berbagai format file. Ini termasuk kemampuan SQL (seperti ODBC), dan banyak bahasa lainnya.

OLE BD ditetapkan untuk berhasil ODBC, tetapi segalanya berubah ...

ODBC vs OLEDB

ODBC pada awalnya fokus pada SQL dan, jika Anda menggunakan SQL, masuk akal untuk menggunakan ODBC. Pilihan yang jelas dulu OLEDB. Tetapi seperti yang akan Anda temukan nanti di artikel, rilis SQL terakhir untuk mendukung OLEDB diluncurkan pada 2012. Dan itu dihapus secara cepat.

Perubahan strategi oleh Microsoft ini agak lengah. Banyak pengguna keras kepala menempel ODBC begitu lama, sehingga langkah itu masuk akal. Juga ada fakta bahwa ODBC berkembang.

Adapun perbedaan antara keduanya, sangat sulit untuk mengatakan tanpa menjadi sangat teknis.

Pada intinya mereka adalah API yang berbeda untuk sumber data yang berbeda.

Satu pendapat adalah bahwa ODBC lebih spesifik dan to the point, di mana OLEDB terlalu generik dan terlalu rumit.

Dukungan saat ini

Peluncuran SQL 2012 adalah yang terakhir untuk mendukung OLEDB. Ini memihak pemungutan suara yang mendukung ODBC.

ODBC telah memperluas kompatibilitasnya dengan penggunaan driver, yang merupakan faktor pendorong utama dalam perubahan strategi oleh Microsoft.

Pengembang perlu Beradaptasi

Rilis SQL (denali) di atas datang dengan tujuh tahun dukungan untuk OLEDB. Ini berarti bahwa ketika saya menulis ini, pengembang hanya memiliki dua tahun lagi untuk beradaptasi.

Semua orang mengerti bahwa itu sulit untuk diadaptasi, tetapi pengguna OLEDB tidak akan memiliki pilihan segera.

Perbedaan antara ODBC dan OLEDB

Bersabarlah, ini akan menjadi sangat teknis. Untuk kemudahan membaca, saya telah memuat informasi dalam sebuah tabel.

Tabel ini didasarkan dari informasi oleh kertas putih teknis dari ftp.sas.com

ODBC OLEDB
Awalnya dirancang untuk basis data relasional. (sejak diubah) Awalnya dirancang untuk basis data non-relasional dan relasional.
Dukungan berkelanjutan untuk SQL Dukungan SQL batal 2019
Berbasis komponen Berbasis prosedural
Lebih sulit untuk digunakan Lebih mudah digunakan

Itu hanya merangkum saja. Saya harap Anda memiliki pemahaman yang lebih baik tentang perbedaan antara ODBC dan OLEDB sekarang. Jika tidak, saya telah memberikan bacaan lebih lanjut di bawah ini, serta tautan ke makalah teknis yang disebutkan di atas.

Jika Anda memiliki pengalaman dalam menggunakan kedua API ini, mengapa tidak memberi tahu kami di komentar? Apakah ada yang salah? Apakah ada sesuatu yang bisa Anda tambahkan untuk pemula di luar sana?

Kami ingin mendengar dari Anda di komentar.

Glosarium

ODBC: Buka Database Connecting

OLE DB: Object Linking dan Embedding Database

OS: Sistem Operasi (seperti windows)

API: Antarmuka Pemrograman Aplikasi

Database Relasional: Satu set item data yang diurutkan ke dalam tabel. Item data dapat diakses dan dipasang kembali tanpa mereorganisasi tabel database.

Basis Data Non-Relasional: Tidak mengikuti standar relasional. Juga dikenal sebagai basis data NoSQL.

Bacaan lebih lanjut

Tautan ke (kedaluwarsa - lihat di atas, OLEDB kehilangan fungsionalitas SQL) buku putih: http://ftp.sas.com/techsup/download/v8papers/odbcdb.pdf

Database relasional vs. Non-relasional: https://www.mongodb.com/scale/relational-vs-non-relational-database

Pendapat pengguna tentang ODBC vs. OLEDB: https://community.qlik.com/thread/106540