ODBC proti OLEDB
Če veste, kaj so, ste verjetno razvijalec. Če ne veste, kaj so, vendar želite vedeti - ste verjetno bodoči razvijalec.
Zaradi tehnične narave te primerjave sem na koncu članka vključil slovarček pojmov. Če ste novi pri takšnih stvareh, boste morda želeli, da to najprej pogledate.
Oglejmo si te izraze, za kaj se uporabljajo in katere priporočam.
Določitev pogojev
ODBC vozniška arhitektura
ODBC je kratek za povezovanje z odprto bazo podatkov. To je vmesniški standard, zasnovan za komunikacijo med različnimi aplikacijami in operacijskimi sistemi (OS).
Kot na primer, če ste uporabili program za Linux, ste pa želeli, da tudi jaz delam v (OS). Vaš odgovor bi bil API, kot je ODBC.
V preteklih dneh so bili programi v celoti prepisani za nove ali drugačne operacijske sisteme. Postopek je bil neučinkovit.
ODBC se je pojavil leta 1992 za rešitev te težave.
ODBC je bil prvotno ustvarjen za strukturiran jezik poizvedb (SQL). Odtlej se je razširilo na več programskih jezikov.
OLE BD je kratek za povezovanje in vdelavo podatkovne baze podatkov. To je skupina API-jev, zasnovanih za dostop do podatkov aplikacij v različnih oblikah datotek. To je vključevalo zmožnost SQL (kot je ODBC) in številne druge jezike.
OLE BD je bil nastavljen za uspeh ODBC, vendar so se stvari spremenile ...
ODBC v primerjavi z OLEDB
ODBC je bil sprva osredotočen na SQL in če uporabljate SQL, je smiselno, da se ukvarjate z ODBC. Očitno je bila izbira OLEDB. Kot boste izvedeli pozneje v članku, je bila zadnja izdaja SQL za podporo OLEDB lansirana leta 2012. In hitro se odpravlja.
Microsoftova sprememba strategije je nekoliko pozabila. Številni trmasti uporabniki so se tako dolgo oklepali ODBC-ja, zato je bila poteza smiselna. Obstajalo je tudi dejstvo, da se ODBC širi.
Glede razlike med tema dvema je težko reči, ne da bi pri tem postali zelo tehnični.
V bistvu so različni API-ji za različne vire podatkov.
Eno mnenje je, da je ODBC bolj specifičen in do točke, ko je OLEDB preveč generičen in preveč zapleten.
Trenutna podpora
SQL-jeva leta 2012 je bila zadnja podpora OLEDB. To potrjuje glasovanje za ODBC.
ODBC je razširil svojo združljivost z uporabo gonilnikov, kar je glavni dejavnik pri spremembi strategije podjetja Microsoft.
Razvijalci se morajo prilagoditi
Zgoraj omenjena izdaja SQL (denali) je dobila sedem let podpore za OLEDB. To pomeni, da imajo razvijalci, ko to pišem, le dve leti, da se prilagodijo.
Vsi razumejo, da se je težko prilagoditi, vendar uporabniki OLEDB kmalu ne bodo imeli izbire.
Razlike med ODBC in OLEDB
Vzemite me, kmalu bo postalo zelo tehnično. Za lažje branje sem podatke vseboval v tabeli.
Ta tabela temelji na informacijah s tehnične bele knjige s ftp.sas.com
ODBC | OLEDB |
Prvotno zasnovana za relacijske baze podatkov. (od takrat spremenjeno) | Prvotno zasnovan za nerelacijske in relacijske baze podatkov. |
Stalna podpora za SQL | Podpora za SQL void 2019 |
Temelji na komponentah | Postopkovno |
Težje za uvajanje | Lažje uvajanje |
To je približno tako, da povzamem. Upam, da boste zdaj bolje razumeli razliko med ODBC in OLEDB. Če ne, sem spodaj navedel nekaj nadaljnjega branja in povezavo do zgoraj omenjenega tehničnega dokumenta.
Če imate izkušnje z uporabo teh dveh API-jev, zakaj nam tega ne sporočite v komentarjih? Ali smo se kaj zmotili? Ali lahko kaj novega dodate za novorojenčke?
Radi bi vas slišali v komentarjih.
Slovarček
ODBC: Odpiranje povezave z bazo podatkov
OLE DB: Povezovanje in vdelava podatkovne baze podatkov
OS: Operacijski sistem (kot Windows)
API: Vmesnik za programiranje aplikacij
Relacijska podatkovna baza: Niz podatkovnih postavk, razvrščenih v tabele. Do podatkovnih postavk je mogoče dostopati in jih ponovno sestaviti brez reorganizacije tabel baze podatkov.
Nerelacijska baza podatkov: Ne sledi relacijskemu standardu. Znana tudi kot baza podatkov NoSQL.
Nadaljnje branje
Povezava do (zastarela - glej zgoraj, OLEDB izgublja funkcionalnost SQL) bele knjige: http://ftp.sas.com/techsup/download/v8papers/odbcdb.pdf
Relacijska nasproti nereferenčna baza podatkov: https://www.mongodb.com/scale/relational-vs-non-relational-database
Mnenja uporabnikov o ODBC proti OLEDB: https://community.qlik.com/thread/106540