Diferencia entre OLEDB y ODBC

Diferencia entre OLEDB y ODBC

ODBC vs OLEDB

Si sabes lo que son, probablemente eres un desarrollador. Si no sabes cuáles son, pero quieres saber, probablemente eres un futuro desarrollador.

Debido a la naturaleza técnica de esta comparación, he incluido un glosario de términos al final del artículo. Si eres nuevo en este tipo de cosas, es posible que desee echar un vistazo a eso primero.

Echemos un vistazo a estos términos, para qué se usan y para cuál recomiendo.

Términos definitorios

Arquitectura del controlador ODBC

ODBC es la abreviatura de que la base de datos abierta se conecte. Es un estándar de interfaz, diseñado para la comunicación entre diferentes aplicaciones y sistemas operativos (OS).

Como, por ejemplo, si usó un programa para Linux, pero también quería que trabajara en (OS). Tu respuesta sería una API como ODBC.

En los días pasados, los programas solían reescribirse por completo para un sistema operativo nuevo o diferente. El proceso fue ineficiente.

ODBC apareció en 1992 para resolver ese problema.

ODBC fue creado originalmente para el lenguaje de consulta estructurada (SQL). Desde entonces se ha expandido para manejar más lenguajes de programación.

OLE BD es la abreviatura de enlaces de objetos e incrustación de la base de datos. Este es un grupo de API diseñado para proporcionar acceso a los datos de la aplicación en diferentes formatos de archivo. Esto incluía la capacidad de SQL (como ODBC) y muchos otros idiomas.

Ole Bd estaba listo para suceder a ODBC, pero las cosas cambiaron ..

ODBC VS. OLEDB

ODBC se centró inicialmente en SQL y, si está utilizando SQL, tiene sentido ir con ODBC. La elección obvia solía ser OLEDB. Pero como descubrirá más adelante en el artículo, el último lanzamiento de SQL para admitir OLEDB lanzado en 2012. Y se está agitando rápido.

Este cambio en la estrategia de Microsoft se tomó por sorpresa. Muchos usuarios obstinados se aferraron a ODBC durante tanto tiempo, por lo que el movimiento tenía sentido. También hubo el hecho de que ODBC se estaba expandiendo.

En cuanto a la diferencia entre estos dos, es muy difícil decir sin ser muy técnico.

En el núcleo son diferentes API para diferentes fuentes de datos.

Una opinión es que ODBC es más específico y al punto, donde OLEDB es demasiado genérico y demasiado complicado.

Soporte actual

El lanzamiento de SQL 2012 fue el último en apoyar a OLEDB. Esto sesga el voto a favor de ODBC.

ODBC ha ampliado su compatibilidad con el uso de los controladores, que es un factor principal importante en el cambio de estrategia por parte de Microsoft.

Los desarrolladores necesitan adaptarse

El lanzamiento de SQL (Denali) mencionado fue con siete años de apoyo a OLEDB. Esto significa que mientras escribo esto, a los desarrolladores solo le quedan dos años para adaptarse.

Todos entienden que puede ser difícil de adaptar, pero los usuarios de OLEDB no tendrán otra opción muy pronto.

Las diferencias entre ODBC y OLEDB

Tengan paciencia conmigo, está a punto de ser muy técnico. Para facilitar la lectura, he contenido la información en una tabla.

Esta tabla se basa en información por un documento blanco técnico de FTP.SAS.comunicarse

ODBC OLEDB
Originalmente diseñado para bases de datos relacionales. (desde que cambió) Originalmente diseñado para bases de datos no relacionales y no relacionales.
Soporte continuo para SQL SQL Support Void 2019
Basado en componentes Basado en el procedimiento
Más difícil de implementar Más fácil de implementar

Eso lo resume todo. Espero que tengas una mejor comprensión de la diferencia entre ODBC y OLEDB ahora. Si no lo hace, he proporcionado algunas lecturas más a continuación, así como un enlace al documento técnico mencionado anteriormente.

Si tiene experiencia en el uso de estas dos API, ¿por qué no avisarnos en los comentarios?? Nos equivocamos en algo? ¿Hay algo que puedas agregar para los novatos por ahí??

Nos encantaría saber de ti en los comentarios.

Glosario

ODBC: Open Database Connecting

OLE DB: base de datos de enlace e incrustación de objetos

OS: sistema operativo (como Windows)

API: interfaz de programación de aplicaciones

Base de datos relacional: un conjunto de elementos de datos ordenados en tablas. Se puede acceder y volver a montar a los elementos de datos sin reorganizar las tablas de la base de datos.

Base de datos no relacional: no sigue el estándar relacional. También conocido como base de datos NoSQL.

Otras lecturas

Enlace a (anticuado - ver arriba, OLEDB está perdiendo la funcionalidad SQL) Papel blanco: http: // ftp.SAS.com/techsup/download/v8papers/ODBCDB.pdf

Relacional VS. Base de datos no relacional: https: // www.mongodb.com/escala/relacional-vs-no-relacional-database

Opiniones de usuario sobre ODBC vs. OLEDB: https: // comunidad.Qlik.com/hilo/106540