Różnica między OLEDB a ODBC

ODBC vs OLEDB

Jeśli wiesz, czym one są, prawdopodobnie jesteś programistą. Jeśli nie wiesz, czym one są, ale chcesz wiedzieć - prawdopodobnie jesteś przyszłym programistą.

Ze względu na techniczny charakter tego porównania zamieściłem glosariusz terminów na końcu artykułu. Jeśli jesteś nowy w tego rodzaju sprawach, możesz najpierw rzucić okiem na to.

Rzućmy okiem na te terminy, do czego są używane i które polecam.

Definiowanie warunków

Architektura sterowników ODBC

ODBC to skrót od Open Database Connecting. Jest to standard interfejsu przeznaczony do komunikacji między różnymi aplikacjami i systemami operacyjnymi (OS).

Na przykład, jeśli napisałeś program dla Linuksa, ale chciałeś, abym również pracował w (OS). Twoja odpowiedź byłaby interfejsem API takim jak ODBC.

W minionych dniach programy były przepisywane całkowicie dla nowego lub innego systemu operacyjnego. Proces był nieefektywny.

ODBC pojawił się w 1992 roku, aby rozwiązać ten problem.

ODBC został pierwotnie stworzony dla języka zapytań strukturalnych (SQL). Od tego czasu rozszerzyło się o obsługę większej liczby języków programowania.

OLE BD to skrót od Object Linking and Embedding Database. Jest to grupa interfejsów API zaprojektowana w celu zapewnienia dostępu do danych aplikacji w różnych formatach plików. Obejmowało to możliwość SQL (jak ODBC) i wiele innych języków.

OLE BD miało odnieść sukces w ODBC, ale wszystko się zmieniło…

ODBC vs. OLEDB

ODBC początkowo koncentrowało się na SQL, a jeśli używasz SQL, warto korzystać z ODBC. Oczywistym wyborem był OLEDB. Ale jak dowiesz się w dalszej części tego artykułu, ostatnia wersja SQL obsługująca OLEDB została uruchomiona w 2012 roku. Szybko wycofuje się.

Ta zmiana strategii firmy Microsoft trochę zaskoczyła. Wielu upartych użytkowników przylgnęło do ODBC tak długo, więc ten ruch miał sens. Był też fakt, że ODBC się rozwijał.

Jeśli chodzi o różnicę między tymi dwoma, bardzo trudno jest powiedzieć bez uzyskania wiedzy technicznej.

Zasadniczo są to różne interfejsy API dla różnych źródeł danych.

Jedna opinia jest taka, że ​​ODBC jest bardziej konkretny i do tego stopnia, że ​​OLEDB jest zbyt ogólny i nadmiernie skomplikowany.

Bieżące wsparcie

Uruchomienie SQL 2012 było ostatnim, który obsługiwał OLEDB. To wypacza głosowanie za ODBC.

ODBC rozszerzył swoją kompatybilność z wykorzystaniem sterowników, co jest głównym czynnikiem napędzającym zmianę strategii przez Microsoft.

Programiści muszą się dostosować

Wspomniane wyżej wydanie SQL (denali) pochodziło z siedmioletnim wsparciem dla OLEDB. Oznacza to, że kiedy to piszę, programiści mają dopiero dwa lata na dostosowanie.

Wszyscy rozumieją, że dostosowanie może być trudne, ale użytkownicy OLEDB już wkrótce nie będą mieli wyboru.

Różnice między ODBC a OLEDB

Miejcie ze sobą, to będzie bardzo techniczne. Dla ułatwienia czytania umieściłem informacje w tabeli.

Ta tabela oparta jest na informacjach zawartych w białej księdze technicznej z ftp.sas.com

ODBC OLEDB
Pierwotnie zaprojektowany dla relacyjnych baz danych. (od czasu zmiany) Pierwotnie zaprojektowany dla nierelacyjnych i relacyjnych baz danych.
Ciągłe wsparcie dla SQL Wsparcie SQL void 2019
Oparte na komponentach Na podstawie procedur
Trudniejsze do wdrożenia Łatwiejsze wdrożenie

To prawie podsumowuje. Mam nadzieję, że lepiej rozumiesz różnicę między ODBC a OLEDB. Jeśli nie, przedstawiłem poniżej dalszą lekturę, a także link do wspomnianego powyżej dokumentu technicznego.

Jeśli masz doświadczenie w korzystaniu z tych dwóch interfejsów API, daj nam znać w komentarzach? Czy coś poszło nie tak? Czy jest coś, co możesz dodać dla początkujących?

Chcielibyśmy usłyszeć od ciebie w komentarzach.

Słownik

ODBC: Otwórz połączenie z bazą danych

OLE DB: Baza danych łączenia i osadzania obiektów

System operacyjny: system operacyjny (jak Windows)

API: Interfejs programowania aplikacji

Relacyjna baza danych: zestaw elementów danych posortowanych według tabel. Dostęp do elementów danych i ich ponowny montaż można przeprowadzić bez reorganizacji tabel bazy danych.

Nierelacyjna baza danych: Nie jest zgodna ze standardem relacyjnym. Znana również jako baza danych NoSQL.

Dalsza lektura

Link do (nieaktualnego - patrz powyżej, OLEDB traci funkcjonalność SQL) białej księgi: http://ftp.sas.com/techsup/download/v8papers/odbcdb.pdf

Relacyjna vs. nierelacyjna baza danych: https://www.mongodb.com/scale/relational-vs-non-relational-database

Opinie użytkowników na temat ODBC vs. OLEDB: https://community.qlik.com/thread/106540