Різниця між OLEDB та ODBC

ODBC проти OLEDB

Якщо ви знаєте, що вони є, ви, ймовірно, розробник. Якщо ви не знаєте, що вони є, але хочете знати - ви, ймовірно, майбутній розробник.

Через технічну природу цього порівняння я включив словник термінів у кінці статті. Якщо ви не новачок у подібних речах, ви можете спершу поглянути на це.

Давайте подивимось на ці терміни, для чого вони використовуються та який я рекомендую.

Визначення термінів

Архітектура драйверів ODBC

ODBC короткий для підключення до відкритої бази даних. Це стандарт інтерфейсу, призначений для зв'язку між різними додатками та операційними системами (ОС).

Як, наприклад, якщо ви писали програму для 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 році. І це швидко припиняється.

Ця зміна стратегії корпорації Майкрософт зняла з огляду. Багато впертих користувачів так довго чіплялися до ODBC, тому цей крок мав сенс. Також був факт, що ODBC розширюється.

Щодо різниці між цими двома, це важко сказати, не стаючи дуже технічним.

По суті вони різні API для різних джерел даних.

Одна думка полягає в тому, що ODBC є більш конкретним і суттєвим, коли OLEDB є надто загальним і надскладним.

Поточна підтримка

Запуск 2012 року SQL був останнім, хто підтримував 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