¿Qué es la captura de datos de cambio?

Definición de captura de datos de cambio

La captura de datos de cambio (CDC) es una técnica para detectar y capturar cambios realizados en los datos de una base de datos y transmitir esos cambios a los sistemas posteriores. La CDC permite la sincronización de datos, replicación y procesamiento basado en eventos casi en tiempo real o en tiempo real entre sistemas tras los cambios en la base de datos.

La captura de datos de cambios es un método de integración de datos en tiempo real que combina y armoniza datos que, de otro modo, podrían permanecer aislados o ser incongruentes en toda la organización. Otros métodos de integración de datos incluyen la integración de datos en tiempo real, la virtualización de datos y la integración de aplicaciones.

La capacidad de la CDC para mantener los procesos y sistemas descendentes actualizados casi en tiempo real o en tiempo real con baja latencia es fundamental para el éxito del analytics de datos en tiempo real, las migraciones a la nube y los modelos de inteligencia artificial (IA). Admite una variedad de casos de uso en todas las industrias, incluida la detección de fraude, la gestión de la cadena de suministro y el cumplimiento normativo en sectores como la venta minorista, las finanzas y la atención médica.

Existen varios enfoques para la captura de datos de cambio, entre los que se incluyen CDC basada en registros, CDC basada en marcas de tiempo y CDC basada en desencadenantes como los más comunes. Las empresas pueden implementar la captura de datos de cambio a través de herramientas nativas de bases de datos, plataformas de código abierto y soluciones de terceros.

¿Cuáles son los beneficios de la captura de datos de cambio?

En la gestión de datos moderna, la captura de datos de cambio ha surgido como un mecanismo crítico de ingeniería de datos. Los entornos de datos empresariales actuales son cada vez más grandes y complejos. Pueden contener datos de dispositivos de Internet de las cosas (IoT), bases de datos distribuidas, aplicaciones y otras fuentes diversas. Mantener datos congruentes y de calidad en este ecosistema de datos en crecimiento es un desafío constante.

Al mismo tiempo, la compañía exige información precisa y actualizada que pueda aprovechar para la toma de decisiones en tiempo real. La captura de datos de cambio es uno de los varios métodos que ayudan a las organizaciones a satisfacer esta demanda.

La captura de datos de cambio permite un pipeline de datos de baja latencia que proporciona datos actualizados de una forma más eficiente y con menos recursos que otros métodos de integración de datos. Por ejemplo, la replicación de datos implica copiar conjuntos de datos completos. Por el contrario, la CDC solo envía los datos que cambiaron, lo que reduce la carga en los sistemas de origen, el tráfico de red y la demanda de potencia informática.

Les ayuda a acceder a la información más reciente y precisa de forma rápida y eficiente, lo que genera múltiples beneficios, que incluyen:

  • Toma de decisiones más rápida
  • Migraciones sin tiempo de inactividad
  • Mejora de procesos ETL
  • Rendimiento mejorado de la IA

Toma de decisiones más rápida

La CDC ayuda a las organizaciones a transmitir datos operativos a plataformas y paneles de analytics de datos en tiempo real para obtener informes, insights empresariales y toma de decisiones más precisos y actualizados. Con estas capacidades, las empresas pueden admitir las demandas del entorno empresarial actual, sensible al tiempo, las 24 horas del día, los 7 días de la semana.

Migraciones sin tiempo de inactividad

La sincronización continua entre las fuentes de datos y los sistemas de destino permite realizar migraciones de datos entre bases de datos, entornos en la nube o aplicaciones con un tiempo de inactividad y una interrupción mínimos. Por ejemplo, durante las migraciones a la nube, la CDC entrega rápidamente los cambios de datos que ocurren on premises a las tablas de datos relevantes basadas en la nube, lo que garantiza la coherencia entre ambos entornos.

Mejora de procesos ETL

Los pipelines de datos ETL (extraer, transformar, cargar) son una parte integral de los flujos de trabajo de analytics y machine learning. Pero la ejecución de ETL, que se basa en el procesamiento por lotes, tiende a moverse lentamente y agotar los recursos del sistema. La integración de CDC en ETL puede optimizar el uso de recursos y acelerar el movimiento de datos.

Mejor rendimiento de la inteligencia artificial (IA)

La implementación de la captura de datos de cambio puede ayudar a garantizar que los datos fuente del modelo estén actualizados, de modo que los modelos de lenguaje de gran tamaño (LLM) puedan ofrecer resultados precisos y puntuales. Por ejemplo, en los casos de uso de la generación aumentada por recuperación (RAG), los modelos de IA se conectan con bases de conocimiento externas para obtener respuestas más relevantes.

Academia de IA

¿Es la gestión de datos el secreto de la IA generativa?

Explore por qué los datos de alta calidad son esenciales para el uso exitoso de la IA generativa.

¿Cómo funciona la captura de datos de cambio?

La captura de cambios identifica y registra las inserciones, actualizaciones y eliminaciones que se producen en los sistemas de datos de origen. Estas fuentes pueden incluir bases de datos relacionales como Oracle Database, PostgreSQL, MySQL, Microsoft SQL Server y Azure SQL Database, así como bases de datos no relacionales (NoSQL) como Apache Cassandra y MongoDB.

Los sistemas CDC modernos suelen utilizar CDC basadas en registros, en las que las herramientas leen los registros de transacciones de la base de datos (archivos que registran los cambios de datos en una base de datos) para identificar cambios. Cada evento de cambio dentro de un registro de transacciones está asociado con una posición de registro ordenada, como un número de secuencia de registro (LSN). Estos ayudan a los sistemas CDC a determinar exactamente cuándo ocurren las modificaciones.

Una vez capturados los cambios, se transmiten en tiempo real o casi en tiempo real a sistemas posteriores, como data lakes, depósitos de datos, plataformas de transmisión de datos como Kafka, motores de procesamiento de transmisiones como Apache Spark, y pipelines ETL/ELT.

Enfoques de la CDC: push o pull

La captura de datos de cambio puede iniciarla el sistema de origen (un enfoque basado en empujes) o el sistema de destino (un enfoque basado en extracciones). La diferencia principal radica en qué sistema es responsable de capturar y transmitir los cambios.

CDC basado en empujes

En un modelo de CDC basado en empujes, el sistema de origen detecta cambios e inmediatamente “empuja” o los envía a los sistemas de destino. Este enfoque se suele implementar mediante registros de transacciones de bases de datos, flujos de eventos o intermediarios de mensajes como Apache Kafka.

Dado que los cambios se envían a medida que ocurren, las CDC basados en empujes generalmente admiten casos de uso que requieren movimiento de datos en tiempo real o casi en tiempo real, como analytics de transmisión, arquitecturas basadas en eventos y sistemas de IA/ML.

CDC basado en extracciones

En las CDC basadas en extracciones, el sistema de destino sondea regularmente los sistemas de origen y “extrae” los cambios cuando se encuentran. La consulta puede realizarse según un horario fijo, lo que hace que la CDC basada a extracciones sea ideal para cargas de trabajo orientadas a lotes o sistemas que no requieren actualizaciones inmediatas.

Si bien este enfoque es más simple y requiere una infraestructura menos compleja que la CDC basada en empujes, puede introducir latencia elevada y aumentar las cargas de consultas en las bases de datos de origen, afectando el rendimiento de la base de datos. Muchas plataformas de datos modernas admitirán ambos enfoques en función de las necesidades de datos y los requisitos operativos.

Métodos comunes para la captura de datos de cambio

Existen varios métodos para ejecutar la captura de datos de cambio. Los tipos comunes de CDC incluyen: 

  • CDC basada en registros
  • CDC basada en marcas de tiempo
  • CDC basada en desencadenantes

CDC basada en registros

Los registros de transacciones de bases de datos son una característica estándar de las bases de datos y se utilizan para registrar todas las transacciones de la base de datos. (Los archivos de registro de transacciones se pueden utilizar para recuperar bases de datos en caso de fallo del sistema).

En la CDC basado en registros, una aplicación CDC procesa los cambios en la base de datos (tanto en datos como en metadatos) asentados en el registro y comparte las actualizaciones con otros sistemas. La CDC basada en registros se ha vuelto cada vez más popular debido a su eficiencia: se basa en registros en lugar de consultas, lo que puede suponer cargas sustanciales en los sistemas de origen. Sin embargo, la variación en los formatos de registro de transacciones puede complicar la ejecución de CDC basada en registros en diferentes bases de datos.

CDC basada en marcas de tiempo

La captura de datos de cambio basada en marcas de tiempo, también conocida como CDC basada en consultas, requiere que los esquemas de tablas de bases de datos tengan una característica, como columnas de marcas de tiempo, que indiquen la fecha y la hora de los cambios en los registros. Se puede usar una herramienta de CDC para identificar registros modificados a través de la columna de marca de tiempo en una tabla de origen y luego entregar actualizaciones a los sistemas de destino.

Aunque la CDC basada en marcas de tiempo puede ser sencilla de implementar, también puede suponer una carga adicional e invasiva para un sistema cuando se realizan con frecuencia sondeos de datos de marcas de tiempo. La CDC basada en marcas de tiempo tampoco captura las operaciones de eliminación cuando la marca de tiempo se elimina junto con el resto de una fila.

CDC basada en desencadenantes

En la captura de datos de cambio basada en disparadores, los procedimientos almacenados o funciones conocidas como disparadores de bases de datos se ejecutan una vez que se producen modificaciones específicas (como inserciones, eliminaciones y actualizaciones) en una base de datos. Los datos modificados se almacenan en lo que a menudo se denomina tabla de cambios o tabla sombra.

Al igual que la CDC basada en marcas de tiempo, la CDC basada en disparadores puede ser sencilla de implementar. Sin embargo, también puede sobrecargar los sistemas de origen, ya que los desencadenantes se "activan" cada vez que se produce una transacción en la tabla de origen.

Fuentes y destinos comunes de la CDC

Para ofrecer una visión completa de la CDC, revisemos algunas fuentes y destinos habituales de la CDC.

Las fuentes de CDC son los sistemas donde se originan los datos, como:

Los destinos de CDC son los sistemas a los que se transmiten o replican los datos, como:

  • Plataformas de transmisión de datos (Apache Kafka, Amazon Kinesis, Google Nube Pub/Sub)

  • Depósitos de datos y lakehouses (Snowflake, Amazon Redshift, Google BigQuery)

  • Almacenamiento de objetos en la nube (AWS S3, Azure Blob Storage, Google Cloud Storage)

Para conectar fuentes y destinos, normalmente se necesitan herramientas de CDC, conectores y plataformas de integración de datos.

ETL frente a CDC: diferenciadores clave

ETL (extraer, transformar, cargar) y la captura de datos de cambio son enfoques de integración de datos ampliamente utilizados, pero diseñados para diferentes propósitos.

A continuación se presentan algunas de las diferencias clave entre ETL y CDC:

  • Movimiento de datos: los pipelines ETL suelen incorporar conjuntos de datos completos o grandes lotes de datos. La CDC solo captura y transmite cambios.

  • Velocidad de procesamiento y latencia: el proceso ETL suele realizarse por lotes a intervalos programados. La CDC está diseñada para el movimiento de datos de baja latencia y la sincronización continua.

  • Casos de uso principales: ETL se utiliza a menudo para business intelligence, informes históricos y machine learning. La CDC se utiliza comúnmente para análisis en tiempo real, detección de fraude y arquitecturas basadas en eventos.

  • Transformación de datos: los pipelines ETL limpian y transforman los datos antes de cargarlos. Los sistemas CDC solo identifican y replican los cambios sin más procesamiento.

  • Impacto en el sistema: los procesos ETL tradicionales ejercen una mayor presión sobre los sistemas de origen con cargas de trabajo por lotes repetidas. La CDC minimiza la sobrecarga al transmitir solo los cambios.

Hoy en día, las organizaciones suelen utilizar tanto ETL como CDC, a menudo de forma conjunta. Por ejemplo, la CDC complementa los pipelines ETL transmitiendo actualizaciones incrementales después de la carga inicial de datos. Esto permite que los conjuntos de datos se mantengan actualizados en tiempo real a medida que se producen cambios en los sistemas de origen, sin tener que esperar a que se ejecute el siguiente trabajo de ETL.

SCD frente a CDC: ¿en qué se diferencian?

La CDC y las dimensiones de cambio gradual (SCD) se complementan para mantener la precisión y la actualización de los sistemas de destino.

Mientras que la CDC captura y transmite los cambios de los sistemas de origen, las SCD definen cómo se gestionan y almacenan esos cambios dentro de las tablas de dimensiones en un depósito de datos.

(En este contexto, los datos de dimensión suelen referirse a tablas de dimensiones en almacenes de datos que almacenan atributos descriptivos, como direcciones de clientes o números de teléfono).

Hay dos tipos comunes de SCD: tipo 1 y tipo 2.

SCD tipo 1: sobrescribe los datos existentes en una tabla de dimensiones con datos nuevos, sin conservar el historial

SCD tipo 2: agrega una nueva fila a una tabla de dimensiones, conservando los cambios históricos completos a lo largo del tiempo

Herramienta de captura de datos de cambio

Las herramientas de captura de datos de cambio (CDC) capturan y transmiten los cambios de la base de datos en tiempo real, lo que ayuda a las organizaciones a respaldar la integración de datos moderna, los analytics y las arquitecturas basadas en eventos.

Las capacidades de CDC pueden ser nativas de entornos de bases de datos específicos, como AWS Database Migration Service (DMS), o pueden implementarse de manera más amplia. Las soluciones comunes de CDC incluyen herramientas de código abierto como Debezium y plataformas comerciales como IBM StreamSets y Oracle GoldenGate.

Muchas organizaciones utilizan Apache Kafka como base para los pipelines de CDC. Las arquitecturas CDC basadas en Kafka pueden capturar los cambios en la base de datos, transmitirlos a través de temas de Kafka y entregarlos a aplicaciones posteriores, depósitos de datos, plataformas de analytics y sistemas de IA.

Al evaluar las herramientas de CDC, las organizaciones a menudo consideran:

  • Escalabilidad
  • Precios
  • Latencia
  • Soporte de conectores
  • Integración de Kafka
  • Confiabilidad
  • Flexibilidad de implementación
  • Soporte para API

Casos de uso para la captura de datos de cambio

Las empresas pueden desplegar la captura de datos de cambio para una variedad de usos, que incluyen:

Detección de fraude

El seguimiento continuo de los cambios en los registros financieros a través de la captura de datos de cambio puede permitir la detección de actividades fraudulentas antes de que resulte en pérdidas sustanciales.

Habilitación de Internet de las cosas (IoT)

La CDC puede integrar de manera eficiente las enormes cantidades de datos en tiempo real generados por los dispositivos IoT, lo que permite el mantenimiento predictivo y el monitoreo en tiempo real.

Gestión de inventario y cadena de suministro

El acceso a información de ventas, inventario y cadena de suministro en tiempo real respaldada por la captura de datos de cambio puede ayudar a las empresas a evitar desabastecimientos y tomar decisiones de precios lucrativas.

Cumplimiento regulatorio

La captura de datos de cambio puede ayudar a las empresas altamente reguladas a mantener los registros precisos necesarios para informar y cumplir con regulaciones y leyes como GDPR, la Ley Sarbanes-Oxley (SOX) y HIPAA en los Estados Unidos.

Autores

Alice Gomstyn

Staff Writer

IBM Think

Alexandra Jonker

Staff Editor

IBM Think

Soluciones relacionadas
IBM® watsonx.data integration

Transforme los datos sin procesar en datos listos para la IA con una experiencia de usuario optimizada para integrar cualquier dato usando cualquier estilo.

Explore la integración de watsonx.data
Soluciones de integración de datos

Cree canalizaciones de datos resilientes, de alto rendimiento y con costos optimizados para sus iniciativas de IA generativa, análisis en tiempo real, modernización de almacenes y necesidades operativas con las soluciones de integración de datos de IBM.

Explore las soluciones de integración de datos
Servicios de consultoría de datos e IA

Escale con éxito la IA con la estrategia, los datos, la seguridad y la gobernanza adecuados.

Explore servicios de consultoría de datos e IA
Dé el siguiente paso

Integre datos estructurados y no estructurados mediante una combinación de estilos, que incluyen procesamiento por lotes, transmisión en tiempo real y replicación, para no perder tiempo ni dinero cambiando constantemente de herramientas.

  1. Explore IBM watsonx.data integration
  2. Explore las soluciones de integración de datos