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