ODBC ve OLEDB karşılaştırması
Ne olduklarını biliyorsanız, muhtemelen bir geliştiricisiniz. Ne olduklarını bilmiyorsanız, ancak bilmek istiyorsanız - muhtemelen gelecekteki bir geliştiricisiniz.
Bu karşılaştırmanın teknik doğası nedeniyle, makalenin sonuna bir terimler sözlüğü ekledim. Bu tür bir şeyde yeniyseniz, önce buna bir göz atmak isteyebilirsiniz.
Şimdi bu terimlere, ne için kullanıldıklarına ve hangisine tavsiye ettiğimize bakalım.
Terimlerin Tanımlanması
ODBC Sürücü Mimarisi
ODBC, Açık Veritabanı Bağlantısı'nın kısaltmasıdır. Farklı uygulamalar ve işletim sistemleri (OS) arasındaki iletişim için tasarlanmış bir arayüz standardıdır.
Örneğin, Linux için bir program yazdıysanız, ancak (OS) de çalışmamı istediyseniz. Cevabınız ODBC gibi bir API olacaktır.
Geçtiğimiz günlerde, programlar yeni veya farklı işletim sistemleri için tamamen yeniden yazıldı. Süreç verimsizdi.
ODBC 1992'de bu sorunu çözmek için ortaya çıktı.
ODBC başlangıçta Yapılandırılmış Sorgu Dili (SQL) için oluşturulmuştur. O zamandan beri daha fazla programlama dilini işleyecek şekilde genişletildi.
OLE BD, Nesne Bağlama ve Katıştırma Veritabanının kısaltmasıdır. Bu, farklı dosya biçimlerinde uygulama verilerine erişim sağlamak için tasarlanmış bir API grubudur. Bu, SQL yeteneği (ODBC gibi) ve diğer birçok dili içeriyordu..
OLE BD ODBC'yi başarmaya hazırlandı, ancak işler değişti…
ODBC ve OLEDB karşılaştırması
ODBC başlangıçta SQL'e odaklanmıştı ve SQL kullanıyorsanız, ODBC ile gitmek mantıklı. Bariz bir seçim eskiden OLEDB idi. Ancak makalenin ilerleyen bölümlerinde göreceğiniz gibi, 2012 yılında OLEDB'yi destekleyen son SQL sürümü başlatıldı..
Microsoft'un bu strateji değişikliği bir miktar hazırlıksız kaldı. Birçok inatçı kullanıcı ODBC'ye çok uzun süre yapıştı, bu nedenle hareket mantıklı geldi. Ayrıca ODBC'nin genişlemesi de.
Bu ikisi arasındaki farka gelince, çok teknik olmadan.
Temelde, farklı veri kaynakları için farklı API'lerdir.
Bir görüş, ODBC'nin daha spesifik ve OLEDB'nin aşırı jenerik ve aşırı karmaşık olduğu noktaya.
Güncel Destek
SQL'in 2012 lansmanı OLEDB'yi destekleyen son sürüm oldu. Bu oyu ODBC lehine çarpıtır.
ODBC, Microsoft'un strateji değişiminde önemli bir itici faktör olan sürücülerin kullanımı ile uyumluluğunu genişletti.
Geliştiricilerin Uyum Sağlaması Gerekiyor
Yukarıda belirtilen SQL sürümü (denali), OLEDB için yedi yıllık destekle geldi. Bu, yazarken geliştiricilerin uyum sağlamak için sadece iki yılları kaldığı anlamına geliyor.
Herkes uyum sağlamanın zor olabileceğini anlıyor, ancak OLEDB kullanıcılarının çok yakında başka seçeneği olmayacak.
ODBC ve OLEDB Arasındaki Farklar
Benimle ayı, çok teknik olmak üzere. Okuma kolaylığı için bilgileri bir tabloya ekledim.
Bu tablo ftp.sas.com adresinden teknik bir teknik bilgi ile hazırlanmıştır.
ODBC | OLEDB |
Başlangıçta ilişkisel veritabanları için tasarlanmıştır. (değiştirildiğinden beri) | Başlangıçta ilişkisel olmayan ve ilişkisel veritabanları için tasarlanmıştır. |
SQL için sürekli destek | SQL desteği geçersiz 2019 |
Bileşen tabanlı | -Usul tabanlı |
Dağıtımı daha zor | Kolay kurulum |
Bu hemen hemen özetliyor. Umarım şimdi ODBC ve OLEDB arasındaki farkı daha iyi kavrarsınız. Bunu yapmazsanız, aşağıda daha fazla okuma ve yukarıda belirtilen teknik makaleye bir bağlantı sağladım.
Bu iki API'yi kullanma konusunda deneyiminiz varsa, neden yorumlarda bize bilgi vermiyorsunuz? Yanlış bir şey mi aldık? Orada yeni başlayanlar için ekleyebileceğiniz bir şey var mı?
Yorumlarda sizden haber almak isteriz.
Sözlük
ODBC: Açık Veritabanı Bağlama
OLE DB: Nesne Bağlama ve Katıştırma Veritabanı
İşletim Sistemi: Operating System (windows gibi)
API: Uygulama Programlama Arayüzü
İlişkisel Veritabanı: Tablolara ayrılmış veri öğeleri kümesi. Veri tablolarına, veritabanı tabloları yeniden düzenlenmeden erişilebilir ve yeniden birleştirilebilir.
İlişkisel Olmayan Veritabanı: İlişkisel standardı izlemez. NoSQL veritabanı olarak da bilinir.
Daha fazla okuma
Bağlantı (eski - yukarıya bakın, OLEDB SQL işlevini kaybediyor) teknik incelemesini: http://ftp.sas.com/techsup/download/v8papers/odbcdb.pdf
İlişkisel ve ilişkisel olmayan veritabanı: https://www.mongodb.com/scale/relational-vs-non-relational-database
ODBC vs. OLEDB hakkındaki kullanıcı görüşleri: https://community.qlik.com/thread/106540