ODBC vs OLEDB
Hvis du vet hva de er, er du sannsynligvis utvikler. Hvis du ikke vet hva de er, men vil vite - du er sannsynligvis en fremtidig utvikler.
På grunn av den tekniske karakteren til denne sammenligningen, har jeg tatt med en ordliste på slutten av artikkelen. Hvis du ikke er kjent med denne typen ting, kan det være lurt ta et blikk på det først.
La oss se på disse vilkår, hva de brukes til og hvilken jeg anbefaler.
Definere vilkår
ODBC Driver Architecture
ODBC er en forkortelse for Open Database Connecting. Det er en grensesnittstandard, designet for kommunikasjon mellom forskjellige apper og operativsystemer (OS).
Som for eksempel hvis du brukte skrev et program for Linux, men du ville at jeg også skulle jobbe i (OS). Svaret ditt vil være et API som ODBC.
I gamle dager ble programmer skrevet om helt for nytt eller annet operativsystem. Prosessen var ineffektiv.
ODBC dukket opp i 1992 for å løse det problemet.
ODBC ble opprinnelig opprettet for Structured Query Language (SQL). Siden har den utvidet seg til å håndtere flere programmeringsspråk.
OLE BD er en forkortelse for Object Linking and Embedding Database. Dette er en gruppe APIer designet for å gi tilgang til appen data i forskjellige filformater. Dette inkluderte SQL-funksjonalitet (som ODBC) og mange andre språk.
OLE BD var satt til å lykkes med ODBC, men ting endret seg ...
ODBC vs. OLEDB
ODBC var opprinnelig fokusert på SQL, og hvis du bruker SQL, er det fornuftig å gå med ODBC. Det åpenbare valget pleide å være OLEDB. Men som du vil finne ut senere i artikkelen, ble den siste SQL-utgivelsen som støttet OLEDB lansert i 2012. Og den avvikles raskt.
Denne endringen i strategi fra Microsoft tok litt av vakt. Mange sta brukere klamret seg til ODBC så lenge, så flyttingen var fornuftig. Det var også det faktum at ODBC utvidet seg.
Når det gjelder forskjellen mellom disse to, er det veldig vanskelig å si uten å bli veldig teknisk.
I kjernen er de forskjellige API-er for forskjellige datakilder.
En oppfatning er at ODBC er mer spesifikk og til det punktet, der OLEDB er altfor generisk og overkomplisert.
Nåværende støtte
SQL-lanseringen i 2012 var den siste som støttet OLEDB. Dette vrenger avstemningen til fordel for ODBC.
ODBC har utvidet sin kompatibilitet med bruk av drivere, noe som er en viktig drivende faktor i endring av strategi fra Microsoft.
Utviklere må tilpasse seg
Ovennevnte SQL-utgivelse (denali) kom med syv års støtte for OLEDB. Dette betyr at når jeg skriver dette, har utviklere bare to år igjen å tilpasse seg.
Alle forstår at det kan være vanskelig å tilpasse seg, men OLEDB-brukere har ikke noe valg veldig snart.
Forskjellene mellom ODBC og OLEDB
Ha med meg, det er i ferd med å få veldig teknisk. For å gjøre det lettere å lese har jeg tatt med informasjonen i en tabell.
Denne tabellen er basert på informasjon fra teknisk teknisk papir fra ftp.sas.com
ODBC | OLEDB |
Opprinnelig designet for relasjonsdatabaser. (siden endret) | Opprinnelig designet for ikke-relasjonelle og relasjonelle databaser. |
Løpende støtte for SQL | SQL-støtte ugyldig 2019 |
Komponentbasert | Prosedyrebasert |
Vanskeligere å distribuere | Enklere å distribuere |
Det oppsummerer det omtrent. Jeg håper du har bedre forståelse for forskjellen mellom ODBC og OLEDB nå. Hvis du ikke gjør det, har jeg gitt litt videre lesing nedenfor, samt en lenke til teknisk dokumentasjon nevnt ovenfor.
Hvis du har erfaring med å bruke disse to API-ene, hvorfor ikke gi oss beskjed i kommentarene? Fikk vi noe galt? Er det noe du kan legge til for nybegynnerne der ute?
Vi vil gjerne høre fra deg i kommentarene.
Ordliste
ODBC: Åpne databasekobling
OLE DB: Objektkobling og innebygging av database
OS: Operativsystem (som Windows)
API: Programmeringsgrensesnitt for applikasjon
Relasjonsdatabase: Et sett med dataelementer sortert i tabeller. Dataelementene kan nås og settes sammen uten å omorganisere databasetabellene.
Ikke-relasjonsdatabase: Følger ikke relasjonsstandarden. Også kjent som NoSQL-database.
Videre lesning
Lenke til (utdatert - se ovenfor, OLEDB mister SQL-funksjonalitet) hvitt papir: http://ftp.sas.com/techsup/download/v8papers/odbcdb.pdf
Relasjonell vs. ikke-relasjonell database: https://www.mongodb.com/scale/relational-vs-non-relational-database
Brukers meninger om ODBC vs. OLEDB: https://community.qlik.com/thread/106540
Copyright © Alle Rettigheter Reservert | asayamind.com