Разлика между OLEDB и ODBC

ODBC срещу OLEDB

Ако знаете какви са те, вероятно сте разработчик. Ако не знаете какви са, но искате да знаете - вероятно сте бъдещ разработчик.

Поради техническия характер на това сравнение, в края на статията съм включил речник на термините. Ако сте нов в този вид неща, може да искате първо да хвърлите поглед върху това.

Нека да разгледаме тези термини, за какво се използват и кое препоръчвам.

Определяне на условия

ODBC Driver Architecture

ODBC е кратък за свързване на отворена база данни. Това е интерфейсен стандарт, предназначен за комуникация между различни приложения и операционни системи (OS).

Например, ако сте използвали написана програма за Linux, но искате и аз да работя в (OS). Отговорът ви ще бъде API като ODBC.

В изминалите дни програми, използвани за презаписване изцяло за нова или различна ОС. Процесът беше неефективен.

ODBC изскочи през 1992 г., за да реши този проблем.

ODBC първоначално е създаден за структуриран език за заявки (SQL). Оттогава тя се разширява, за да обработва повече езици за програмиране.

OLE BD е кратко за свързване на обекти и вграждане на база данни. Това е група от API, предназначени да предоставят достъп до данни на приложението в различни файлови формати. Това включва SQL възможност (като ODBC) и много други езици.

OLE BD беше настроен да наследи ODBC, но нещата се промениха ...

ODBC срещу OLEDB

ODBC първоначално беше фокусиран върху SQL и ако използвате SQL, има смисъл да отидете с ODBC. Очевидният избор преди беше OLEDB. Но както ще разберете по-късно в статията, последната версия на SQL за поддръжка на OLEDB стартира през 2012 г. И постепенно се прекратява.

Тази промяна в стратегията на Microsoft свали вниманието си. Много упорити потребители се придържат към ODBC толкова дълго, така че ходът има смисъл. Също така имаше факт, че ODBC се разширява.

Що се отнася до разликата между тези две, е много трудно да се каже, без да става много технически.

В основата си те са различни API за различни източници на данни.

Едното мнение е, че ODBC е по-специфичен и до точката, при която OLEDB е прекалено общ и свръхкомплексен.

Текуща поддръжка

Стартирането на SQL през 2012 г. беше последното, което поддържаше OLEDB. Това криви вота в подкрепа на ODBC.

ODBC разшири съвместимостта си с използването на драйвери, което е основен движещ фактор в промяната на стратегията от Microsoft.

Разработчиците трябва да се адаптират

Гореспоменатото издание на SQL (denali) дойде със седем години поддръжка за OLEDB. Това означава, че докато пиша това, на разработчиците са останали само две години, за да се адаптират.

Всички разбират, че може да е трудно да се адаптираме, но потребителите на OLEDB няма да имат избор много скоро.

Разликите между ODBC и OLEDB

Носете с мен, предстои да стане много технически. За по-лесно четене съдържах информацията в таблица.

Тази таблица е базирана на информация от техническа бяла книга от ftp.sas.com

ODBC OLEDB
Първоначално проектиран за релационни бази данни. (тъй като е променен) Първоначално проектиран за нерелационни и релационни бази данни.
Текуща поддръжка за SQL Поддръжка на SQL void 2019
Компонент базирани Процедурно-базирани
По-трудно се разполага По-лесно за внедряване

Това само за това обобщава. Надявам се сега да разберете по-добре разликата между ODBC и OLEDB. Ако не го направите, по-долу ви предоставих допълнително четене, както и линк към споменатия по-горе технически документ.

Ако имате опит в използването на тези два API, защо не ни уведомите в коментарите? Разбрахме ли нещо нередно? Има ли нещо, което бихте могли да добавите за начинаещите там?

Ще се радваме да чуем от вас в коментарите.

Терминологичен речник

ODBC: Свързване на отворена база данни

OLE DB: Свързване и вграждане на база данни на обекти

ОС: Операционна система (като Windows)

API: Интерфейс за програмиране на приложения

Релационна база данни: Набор от елементи, подредени в таблици. Елементите с данни могат да бъдат достъпни и отново сглобени, без да реорганизирате таблиците на базата данни.

Нерелационна база данни: Не следва релационния стандарт. Известен също като NoSQL база данни.

Допълнителна информация

Връзка към (остаряла - вижте по-горе, OLEDB губи SQL функционалност) бяла книга: http://ftp.sas.com/techsup/download/v8papers/odbcdb.pdf

Релационна спрямо нерелационна база данни: https://www.mongodb.com/scale/relational-vs-non-relational-database

Мнения на потребителите относно ODBC срещу OLEDB: https://community.qlik.com/thread/106540