ODBC vs OLEDB
Jei žinote, kokie jie yra, greičiausiai esate kūrėjas. Jei nežinote, kokie jie yra, bet norite žinoti - tikriausiai būsimas kūrėjas.
Dėl šio palyginimo techninio pobūdžio straipsnio pabaigoje pateikiau terminų žodyną. Jei dar nesate susipažinę su tokiu dalyku, pirmiausia turėtumėte pažvelgti į tai.
Pažvelkime į šiuos terminus, kam jie vartojami ir kuriam aš rekomenduoju.
Sąvokų apibrėžimas
ODBC tvarkyklės architektūra
ODBC trumpas - „Open Database Connecting“. Tai yra sąsajos standartas, skirtas ryšiui tarp skirtingų programų ir operacinių sistemų (OS).
Kaip, pavyzdžiui, jei jūs rašėte programą „Linux“, bet norėjote, kad dirbčiau ir (OS). Jūsų atsakymas būtų tokia API kaip ODBC.
Per kelias dienas programos buvo visiškai perrašomos naujoms ar skirtingoms OS. Procesas buvo neefektyvus.
ODBC pasirodė 1992 m., Kad išspręstų šią problemą.
Iš pradžių ODBC buvo sukurta struktūrinei užklausų kalbai (SQL). Nuo to laiko ji išplėtė, kad galėtų valdyti daugiau programavimo kalbų.
„OLE BD“ yra trumpas objektų susiejimo ir duomenų bazės įdėjimo elementas. Tai yra grupė API, sukurta suteikti prieigą prie programos duomenų skirtingais formatais. Tai apėmė SQL galimybes (pvz., ODBC) ir daugelį kitų kalbų.
Buvo nustatyta, kad OLE BD sėkmingai pakeis ODBC, tačiau viskas pasikeitė ...
ODBC ir OLEDB
Iš pradžių ODBC buvo sutelktas į SQL ir, jei jūs naudojate SQL, prasminga eiti su ODBC. Akivaizdus pasirinkimas anksčiau buvo OLEDB. Tačiau, kaip sužinosite vėliau, paskutiniame SQL leidime, palaikančiame OLEDB, pradėta naudoti 2012 m..
Šis „Microsoft“ strategijos pakeitimas šiek tiek atitolino. Daugelis užsispyrusių vartotojų taip ilgai prilipo prie ODBC, todėl žingsnis buvo prasmingas. Taip pat buvo tai, kad ODBC plėtėsi.
Kalbant apie skirtumą tarp šių dviejų, labai sunku pasakyti, nesant labai techniniam.
Esmė - skirtingi duomenų šaltinių API.
Viena nuomonė yra ta, kad ODBC yra specifiškesnė ir esmingesnė, kai OLEDB yra per daug bendro pobūdžio ir per daug sudėtingas.
Dabartinis palaikymas
2012 m. SQL paleidimas paskutinis palaikė OLEDB. Tai iškreipia balsavimą už ODBC.
ODBC išplėtė suderinamumą su tvarkyklių naudojimu, o tai yra pagrindinis veiksnys keičiant „Microsoft“ strategiją.
Kūrėjai turi prisitaikyti
Aukščiau paminėta SQL versija (denali) OLEDB palaikė septynerius metus. Tai reiškia, kad rašant tai kūrėjams liko vos dveji metai prisitaikyti.
Visi supranta, kad gali būti sunku prisitaikyti, tačiau OLEDB vartotojai netrukus neturės pasirinkimo.
Skirtumai tarp ODBC ir OLEDB
Lokis su manimi, jis taps labai techninis. Kad būtų lengviau skaityti, informaciją pateikiau lentelėje.
Ši lentelė yra pagrįsta informacijos, pateiktos ftp.sas.com techniniame baltajame leidinyje
ODBC | OLEDB |
Iš pradžių buvo sukurta reliacinėms duomenų bazėms. (nuo pasikeitimo) | Iš pradžių sukurta nesusijusioms ir reliacinėms duomenų bazėms. |
Nuolatinis SQL palaikymas | SQL palaikymas negalioja 2019 m |
Komponentų pagrindu | Procedūrinis |
Sunkiau dislokuoti | Lengviau diegti |
Tai beveik viską apibendrina. Tikiuosi, kad dabar geriau suprasite skirtumą tarp ODBC ir OLEDB. Jei neturite, žemiau pateikiau keletą papildomų svarstymų, taip pat nuorodą į aukščiau paminėtą techninį dokumentą.
Jei turite patirties naudojant šias dvi API, kodėl gi nepraneškite mums komentaruose? Ar mes ką nors suklydome? Ar yra kažkas, ką galėtumėte pridėti naujokėms?
Mes norėtume išgirsti iš jūsų komentaruose.
Žodynas
ODBC: jungtis prie duomenų bazės
OLE DB: Objektų susiejimas ir duomenų bazės įdėjimas
OS: operacinė sistema (pvz., Langai)
API: programų programavimo sąsaja
Reliacinė duomenų bazė: duomenų lentelių, suskirstytų į lenteles, rinkinys. Duomenų elementus galima pasiekti ir vėl surinkti neperorganizuojant duomenų bazės lentelių.
Nesusijusi duomenų bazė: neatitinka reliacinio standarto. Taip pat žinomas kaip „NoSQL“ duomenų bazė.
Papildoma literatūra
Nuoroda į (pasenusią - žr. Aukščiau, OLEDB praranda SQL funkcijas) baltąjį popierių: http://ftp.sas.com/techsup/download/v8papers/odbcdb.pdf
Reliacinė ir nesusijusi duomenų bazė: https://www.mongodb.com/scale/relational-vs-non-relational-database
Vartotojo nuomonės apie ODBC ir OLEDB: https://community.qlik.com/thread/106540