A lo largo de los años se han creado una gran variedad de enfoques diferentes para mover y fusionar datos que respaldan los procesos comerciales y la toma de decisiones. Cada uno de ellos con sus propias capacidades y beneficios únicos. Comprender estas capacidades y cómo se relacionan con el resultado deseado de su estrategia de datos es esencial para diseñar un sistema óptimo.
Se deben considerar múltiples variables y requisitos al desarrollar una estrategia para mantener todos sus datos optimizados, accesibles e integrados, incluidos:
El procesamiento por lotes transfiere datos a intervalos regulares o en lotes. Estos patrones incluyen Extraer, Transformar, Cargar (ETL), Extraer, Cargar, Transformar (ELT), ETL Inverso, Duplicación o Replicación y herramientas de escritura diferida.
ETL es el enfoque tradicional para mover datos. Los datos se extraen de una fuente de datos, se transforman según reglas de negocio y se cargan en una base de datos de destino. Este enfoque puede ser muy seguro, pero también inflexible. Esta rigidez requiere que los conjuntos de datos estén muy estructurados y documentados, lo que facilita las transformaciones complejas. Dado que las bases de datos de los sistemas heredados suelen ser muy estructuradas y rígidas, ETL es una buena opción para estos sistemas. Para crear estos procesos, los desarrolladores deben tener un profundo conocimiento de la estructura de datos y los lenguajes de programación.
ELT es similar a ETL, pero la transformación se produce después de cargar los datos en la base de datos de destino. Este enfoque más contemporáneo permite una mayor flexibilidad porque los datos sin procesar permanecen en la base de datos de destino después de su transformación. En consecuencia, las transformaciones se pueden ejecutar de forma iterativa o retroactiva sin extraer datos de la fuente de datos original, lo que reduce los recursos necesarios para extraer un nuevo conjunto de datos. ELT es más adecuado para conjuntos de datos más extensos y menos estructurados en los que la manipulación y las transformaciones de datos se pueden ejecutar más cerca del usuario final.
La ETL inversa es otro proceso por lotes, pero los datos fluyen en la dirección opuesta a la de una canalización de ETL. Los datos se extraen de una aplicación operativa de terceros y se cargan en una base de datos central. Este enfoque permite a una organización consolidar una versión de un conjunto de datos en un almacén central y permite que las aplicaciones operativas utilicen los mismos datos que otras aplicaciones o análisis pueden estar utilizando. La ETL inversa admite una "única fuente de información" para la organización.
El desafío es que la ETL inversa opera en lotes. En organizaciones dinámicas donde los datos cambian constantemente, distintos grupos pueden usar diferentes versiones de los mismos datos debido a diferentes cronogramas de actualización. Las estrategias de sincronización de ETL inversa también pueden sobrecargar los sistemas operativos, ya que se cargan grandes cantidades de datos en los sistemas operativos desde múltiples fuentes. Esto puede generar conflictos y versiones de datos de los mismos datos.
La duplicación y la replicación guardan los datos en una base de datos independiente sin ninguna transformación y, a menudo, se implementan para realizar copias de seguridad de los conjuntos de datos en caso de pérdida de datos. También pueden resultar útiles para optimizar la gestión de datos y crear un conjunto de datos persistente cuando los datos están en movimiento. La duplicación no solo replica los datos, sino también toda la estructura de la base de datos y el sistema de gestión.
La replicación es ligeramente diferente de la duplicación porque no copia el sistema de gestión de bases de datos, sino solo los datos. Acceder a los datos desde varios sistemas es mucho más fácil con la replicación, ya que un sistema de gestión de bases de datos no los define.
La duplicación es una mejor opción para equilibrar la carga. Las bases de datos de origen y copiadas son idénticas, por lo que se puede acceder a los datos desde cualquiera de las dos fuentes fácilmente. La recuperación ante desastres y la optimización del uso de recursos son casos de uso comunes de la duplicación. También es adecuada para capturar una instantánea de los datos en movimiento. Por ejemplo, los datos virtualizados que se utilizan con regularidad se pueden duplicar en un almacén de datos persistente.
La integración y gestión de datos en tiempo real genera muchas complejidades, en particular cuando se fusionan conjuntos de datos diversos. Dado que los distintos conjuntos de datos cambian constantemente, siempre existirán discrepancias entre los datos de origen y los datos fusionados. Los datos en tiempo real son más aplicables en sistemas operativos que rastrean sensores o datos financieros.
CDC es un patrón basado en eventos en el que los cambios en una base de datos se reflejan automáticamente en otra cuando se producen eventos definidos. Este patrón admite flujos de datos bidireccionales, de modo que las bases de datos de origen y destino puedan intercambiar datos para garantizar la sincronización. CDC es una forma mucho más eficiente de mover datos que ETL, ya que solo los datos que cambian se transfieren a la base de datos de destino, no todo el conjunto de datos.
CDC funciona bien con bases de datos o aplicaciones que no se pueden integrar. Los procesos de CDC pueden almacenar los datos en una base de datos independiente y, luego, los cambios se pueden compartir desde los datos almacenados en una base de datos de destino. Este método requiere mantener una fuente de datos dinámica independiente, lo que crea una complejidad excesiva y genera un mayor potencial de errores.
La transmisión de datos implica la ingesta, el procesamiento y el movimiento constantes de datos hacia su destino. Por lo general, esto significa datos de sensores o datos de servicios financieros. En muchos casos, la transmisión se transforma en el camino hacia su base de datos de destino.
Si bien la transmisión de datos es rápida, existen algunas desventajas. Los datos de transmisión se mueven constantemente y toman diferentes caminos a través de Internet, por lo que no se garantiza que se procesen en el orden correcto. Algunos datos pueden llegar para ser procesados después de los datos más recientes, lo que genera confusión sobre los datos más precisos. Se debe implementar una orquestación adecuada para garantizar que los datos se procesen en el orden apropiado.
La transmisión de datos también expone el modelo de datos de la fuente de datos a los usuarios posteriores. Cuando las aplicaciones posteriores se conectan directamente al modelo de datos de origen, los cambios en este modelo causan estragos en la parte posterior.
Si los datos de transmisión se empaquetan dentro de un producto de datos, los modelos de datos de origen internos se pueden asignar al modelo de datos de un producto de datos. Esta estructura facilita el intercambio de datos con grupos externos.
Las capacidades de reescritura de las herramientas de BI front-end son otro método para realizar cambios en una base de datos de origen. Este patrón emergente permite a los analistas que trabajan con herramientas de BI incluir cambios en la base de datos de origen directamente desde la herramienta de BI. Estos cambios se reflejan inmediatamente en la fuente de datos y en el trabajo de los analistas. Esto permite que el analista que mejor comprenda los datos ajuste o corrija la fuente de datos original.
Las capacidades de escritura diferida también reducen la dependencia de los analistas de datos de las hojas de cálculo de Excel, ya que ahora tienen el poder de actualizar una base de datos tan rápido como pueden con Excel.
Las aplicaciones SaaS suelen compartir datos a través de API REST. Se trata de procesos sencillos para extraer datos de una base de datos de aplicaciones. Por sí solas, las API no pueden transformar los datos, pero si se ejecutan a través de una plataforma iPaaS, se pueden realizar procesos de transformación automatizados en los datos antes de enviarlos a la aplicación de destino.
Las API REST funcionan bien para intercambios de datos simples entre una o dos aplicaciones, pero este tipo de enfoque no es escalable. Si una aplicación cambia su API, las aplicaciones posteriores pueden dejar de funcionar.
La virtualización de datos es la práctica de ejecutar código que crea un nuevo conjunto de datos virtualizados extraídos de bases de datos conectadas. Este nuevo conjunto de datos se crea cada vez que se ejecuta el código, pero los datos solo se conservan durante el tiempo necesario. Este es el patrón que utiliza la plataforma Avrio para generar conjuntos de datos para su análisis. El uso de esta tecnología para la integración de datos ofrece varias ventajas:
En primer lugar, la virtualización de datos separa la base de datos y la estructura subyacentes de los datos en sí, lo que hace que la virtualización de datos sea mucho más escalable y flexible.
En segundo lugar, la virtualización de datos no crea una copia persistente de la base de datos. Dado que cada vez se crea un nuevo conjunto de datos, se ejecuta el código y se extraen los datos más actualizados de la base de datos de origen. Este enfoque evita conflictos entre varias versiones de los mismos datos. También se pueden minimizar los costos de almacenamiento.
En tercer lugar, los conectores sofisticados, los motores de consulta federados y la virtualización pueden consultar, transformar y fusionar datos de varias bases de datos a la vez. Con un almacén de metadatos consolidado y un modelo de datos unificado en capas, este enfoque permite a los analistas de datos extraer datos de varios almacenes de datos como si fueran una única base de datos.
Por último, la virtualización de datos permite un mayor control de los datos. Dado que los datos se mueven a través de esta capa de virtualización, se pueden ejecutar controles de calidad de datos e implementar controles de acceso granulares.
Cada enfoque de integración y sincronización tiene sus ventajas y desventajas. Independientemente de cuál sea su enfoque, la atención a la gobernanza, la seguridad y la calidad de los datos es fundamental para una arquitectura de datos saludable. El uso conjunto de enfoques adecuados en una plataforma consolidada puede dar como resultado una solución potente y flexible.
La virtualización de datos es una de las principales funciones de Avrio y se utiliza para integrar datos para su análisis y crear un nuevo conjunto de datos cada vez que se ejecuta el código. Cuando se requieren datos persistentes, pero hay cambios periódicos, Avrio también cuenta con capacidades de CDC que solo reflejarán los cambios en la base de datos de origen en el entorno reflejado.
Avrio también cuenta con capacidades de duplicación para crear conjuntos de datos persistentes a partir de conjuntos de datos virtualizados. Cuando los datos no cambian con frecuencia pero se utilizan con regularidad, la duplicación puede reducir el uso de recursos de ancho de banda.
La plataforma Avrio permite el acceso de terceros a los productos de datos a través de una API. Esta capa de interfaz de usuario de Avrio también cuenta con capacidades de escritura diferida para incorporar cambios realizados en una herramienta de inteligencia empresarial con la base de datos de back-end conectada a la plataforma Avrio.
La combinación de múltiples patrones de integración y sincronización para lograr un resultado comercial tiene sentido estratégico. Cada situación es diferente y requiere capacidades únicas. La plataforma Avrio combina las tecnologías y los patrones adecuados para que los datos sean accesibles en múltiples silos de datos con productos de datos de autoservicio que cuentan con gobernanza y seguridad integradas, diseñados para la era de la inteligencia artificial, el análisis rápido y una mejor toma de decisiones.
Avrio también se adapta bien a sus herramientas e infraestructura de integración existentes. Si está transmitiendo datos a un lago de datos, Avrio puede crear un producto de datos para capturar una instantánea de los datos transmitidos para su análisis. Si ha creado canales ETL que están bien establecidos y no cambian mucho, Avrio puede incorporar estos datos en un producto de datos que puede hacerlos más accesibles e integrar conjuntos de datos de otros sistemas.