loader

Qué es Change Data Capture (CDC)

Change Data Capture (Captura de datos modificados) o CDC es la detección de los cambios realizados en la base de datos.

Hay principalmente dos formas de detectar estos cambios, usando consultas que toman en cuenta fechas de transacción y/o fecha de modificación o  a través de lectura de los logs de cambio de las fuentes. Las herramientas tradicionales de ETL suelen hacer lo primero mediante el desarrollo de flujos o consultas que pueden ser bastante complejos pero por suerte hay alternativas superadoras.

Qué es Qlik Replicate

Qlik Replicate es el nuevo nombre que Qlik le dió al producto antes conocido como Attunity. Qlik Replicate es una de las herramientas precursoras y líderes en la implementación de CDC a través de la lectura de logs de cambios de las bases de datos.

Todos los motores de bases de datos generan estos logs por temas de recupero ante fallas, auditoría y trazabilidad, etc. (Redo logs en Oracle, Transaction Log en SQL Server, Binary Logging en MySQL, etc.).

Qlik Replicate soporta la más amplia cantidad de fuentes tanto de origen como de destino y es parte de la plataforma de integración de datos (Qlik Data Integration o QDI) que incluye también a Qlik Compose (antes Attunity Compose) for Data Warehouse,  Data Lake Creationy Qlik Data Catalog .

Fuentes y destinos soportados por Qlik Replicate

Cómo implementa Qlik Replicate el CDC:

  • Sin agentes, no es necesario instalar nada en el servidor de origen ni en el de destino como así tampoco crear campos/triggers en la base de datos.

  • Con una sola extracción se pueden impactar múltiples destinos

  • Los destinos pueden ser variados, desde bases de datos, Data Warehouses en la nube (Big Query, Snowflake, etc.) a Data Lakes (Hadoop, S3, etc.) e incluso a plataformas de streaming de datos.

  • No sólo replica datos sino también las estructuras de los mismos (DDL) y los cambios que vayan sufriendo.

  • Permite

    • crear particiones basadas en dimensiones temporales

    • filtrar resultados o columnas irrelevantes

    • realizar transformaciones básicas, renombrado de campos, cambiar tipos de datos, etc.

  • Las transferencias están optimizadas para la nube.

  • Además de replicar los cambios estos quedan registrados permitiendo ser utilizados para auditorías, minería de procesos, etc.

Batch vs Real Time / Streaming

Cada vez es más importante contar con la información en el momento preciso y cada vez son más los procesos y aplicaciones que necesitan contar con datos actualizados de otros sistemas. En general la necesidad de implementar procesos real time hace que se busquen desarrollos o soluciones particulares para cubrirlas en vez de pensar soluciones integrales que sirvan tanto para resolver las necesidades de contar con la información en tiempo real como extraer y procesar información batch.

Qlik Replicate sirve para cubrir ambos casos de uso permitiendo que un solo proceso de y extracción sirva para alimentar tanto un proceso real time vía streaming como así también a una base de datos para dashboards y reportes real time o batch. Además facilita convertir fuentes tradicionales que podrían implicar cierta dificultad en extraer la información como mainframes, SAP, etc. en fuentes de datos en tiempo real.

Beneficios

Qlik Replicate permite un ahorro sustancial en los tiempos de desarrollo de los procesos de extracción de datos y en las posteriores modificaciones que puedan ir surgiendo a medida que el negocio evoluciona (y se modifiquen las estructuras de las tablas y campos de las bases de datos). En Qlik Replicate esto se simplifica al máximo ya que alcanza con generar una tarea e indicarle que tablas replicar. Este ahorro incluye el tiempo que se ahorra al evitar errores de desarrollo, pruebas, el tiempo en tener que entender cómo se actualizan los datos en las tablas transaccionales y no transaccionales o si hay registros que llegan más tarde, etc.

Otro ahorro importante es el de tiempo de procesamiento, al procesar continuamente y solamente las novedades desde la última lectura se evita el tener que reprocesar continuamente información de varios días para tener la seguridad de que no se están perdiendo novedades, de tener que reprocesar meses anteriores por datos nuevos que pueda aparecer o de tener que extraer los datos maestros todos los días porque no hay forma confiable de identificar solamente los agregados y modificaciones. Esto no sólo implica menor tiempo de procesamiento, sino también menor cantidad de datos que se mueven entre redes y sistemas, sobre todo considerando que suele ser una de las métricas con las que se definen los costos de varios servicios en la nube. Incluso si los sistemas se encuentran todos on premise, procesar menos datos y en menos tiempo permite reducir los recursos necesarios y liberarlos para poder realizar otras tareas.

Componente indispensable de una plataforma moderna

Las necesidades de los proyectos actuales de integración de datos y la evolución de las tecnologías relacionadas permiten que Qlik Replicate tenga un rol central en asegurar el éxito tanto en la implementación de una plataforma moderna desde cero como en modernizar una ya existente permitiendo obtener el máximo valor de la misma, en mucho menos tiempo y con un  menor costo que otras soluciones similares.

Daniel Rozental

Data Integration Lead

    ¿Te interesa lo que estás leyendo? ¡Suscribite!