ODBC vs OLEDB
Ak viete, aké sú, pravdepodobne ste vývojár. Ak neviete, čo sú, ale chcete vedieť - pravdepodobne ste budúcim vývojárom.
Z dôvodu technickej povahy tohto porovnania som na konci článku zahrnul slovník pojmov. Ak ste v tejto veci nováčikom, mali by ste sa na to najprv pozrieť.
Pozrime sa na tieto výrazy, na čo sa používajú a na ktoré odporúčam.
Definovanie podmienok
Architektúra ovládačov ODBC
ODBC je skratka pre pripojenie k otvorenej databáze. Je to štandard rozhrania určený na komunikáciu medzi rôznymi aplikáciami a operačnými systémami (OS).
Napríklad, ak ste použili program napísaný pre Linux, ale chceli ste, aby som pracoval aj v (OS). Vaša odpoveď by bola API ako ODBC.
Kedysi boli programy prepisované úplne pre nový alebo iný operačný systém. Tento proces bol neefektívny.
ODBC sa objavil v roku 1992 na vyriešenie tohto problému.
ODBC bol pôvodne vytvorený pre jazyk Structured Query Language (SQL). Odvtedy sa rozšírila o viac programovacích jazykov.
OLE BD je skratka pre databázu na prepájanie a vkladanie objektov. Toto je skupina rozhraní API navrhnutá na poskytovanie prístupu k údajom aplikácií v rôznych formátoch súborov. To zahŕňalo schopnosť jazyka SQL (napríklad ODBC) a mnoho ďalších jazykov.
OLE BD bol nastavený na úspech ODBC, ale veci sa zmenili ...
ODBC vs. OLEDB
ODBC sa spočiatku zameriavala na SQL a ak používate SQL, má zmysel ísť s ODBC. Zjavnou voľbou bol OLEDB. Ale ako sa dozviete neskôr v článku, posledné vydanie SQL na podporu OLEDB sa začalo v roku 2012. A to sa postupne vyraďuje.
Táto zmena v stratégii spoločnosti Microsoft nezabezpečila. Mnoho tvrdohlavých používateľov sa tak dlho držalo ODBC, takže tento krok mal zmysel. Tiež tu bola skutočnosť, že ODBC sa rozširoval.
Pokiaľ ide o rozdiel medzi týmito dvoma, je ťažké povedať, bez toho, aby sme boli veľmi technický.
V jadre sú to rôzne API pre rôzne zdroje údajov.
Jeden názor je, že ODBC je špecifickejší a do tej miery, že OLEDB je príliš všeobecný a príliš komplikovaný.
Aktuálna podpora
Spustenie SQL v roku 2012 bolo posledné, ktoré podporovalo OLEDB. Tým sa skresľuje hlas v prospech ODBC.
ODBC rozšírila svoju kompatibilitu s používaním ovládačov, čo je hlavným hnacím faktorom pri zmene stratégie spoločnosťou Microsoft.
Vývojári sa musia prispôsobiť
Vyššie uvedené vydanie SQL (denali) prišlo so siedmimi rokmi podpory pre OLEDB. To znamená, že keď píšem, vývojári majú na prispôsobenie sa iba dva roky.
Každý chápe, že je ťažké sa prispôsobiť, ale používatelia OLEDB nebudú mať čoskoro na výber.
Rozdiely medzi ODBC a OLEDB
Zostaň so mnou, chystá sa to veľmi technické. Pre ľahšiu čitateľnosť som tieto informácie obsahoval v tabuľke.
Táto tabuľka je založená na informáciách technickým bielym papierom z ftp.sas.com
ODBC | OLEDB |
Pôvodne určený pre relačné databázy. (od zmeny) | Pôvodne určený pre nerelačné a relačné databázy. |
Priebežná podpora pre SQL | Podpora SQL neplatná 2019 |
Component-based | procesné báze |
Ťažšie nasadiť | Ľahšie nasadenie |
To len asi zhrnie. Dúfam, že teraz lepšie rozumiete rozdielu medzi ODBC a OLEDB. Ak tak neurobíte, poskytol som ďalšie čítanie nižšie, ako aj odkaz na vyššie uvedený technický dokument.
Ak máte skúsenosti s používaním týchto dvoch rozhraní API, prečo by ste nás o tom nemali informovať? Dostali sme niečo zle? Existuje niečo, čo by ste mohli pridať k nováčikom?
V komentároch by sme vás radi počuli.
glosár
ODBC: Pripojenie k otvorenej databáze
OLE DB: Prepojenie a vkladanie databázy
OS: Operačný systém (napríklad Windows)
API: Application Programming Interface
Relačná databáza: Sada dátových položiek zoradených do tabuliek. Prístup k údajovým položkám a ich opätovné zostavenie je možný bez reorganizácie databázových tabuliek.
Nerelačná databáza: Nesleduje relačný štandard. Známy tiež ako databáza NoSQL.
Ďalšie čítanie
Odkaz na (zastaralý - pozri vyššie, OLEDB stráca funkčnosť SQL) Dokument white paper: http://ftp.sas.com/techsup/download/v8papers/odbcdb.pdf
Relačná vs. nerelačná databáza: https://www.mongodb.com/scale/relational-vs-non-relational-database
Názory používateľov na ODBC verzus OLEDB: https://community.qlik.com/thread/106540