La captura de datos modificados (CDC) es un proceso que se usa para hacer un seguimiento de los cambios realizados en los datos de un sistema de origen, como una base de datos transaccional, un almacén de datos o una aplicación SaaS, y capturarlos. Con el registro de cambios en tiempo real, la CDC te permite mantener los sistemas sincronizados, potenciar los análisis, entrenar modelos de IA y respaldar migraciones de datos sin interrupciones.
Saber qué cambios ocurren en una base de datos es esencial para mantener la integridad de los datos, optimizar los flujos de trabajo y obtener estadísticas en tiempo real. Un ejemplo típico es el comercio minorista: cuando un cliente realiza un pedido, la CDC captura esa venta de la base de datos transaccional en el momento en que se produce. Un servicio de CDC como Datastream de Google Cloud puede replicar los cambios de una base de datos PostgreSQL local en un almacén de datos BigQuery, lo que permite un panel de estadísticas casi en tiempo real y elimina la espera de trabajos por lotes lentos y nocturnos.
La captura de datos modificados (CDC) es un proceso que se usa para identificar y capturar modificaciones de datos, como inserciones, actualizaciones y eliminaciones, de un sistema de origen, a menudo casi en tiempo real. CDC es reconocido por lo siguiente:
El proceso de ETL, que significa “extracción, transformación y carga”, implica extraer datos sin procesar de su sistema de origen, transformarlos en la estructura necesaria y, luego, cargarlos en el sistema de destino, que suele ser un almacén de datos. La ETL ayuda a garantizar que los datos estén organizados, limpios y listos para su uso posterior en análisis o aplicaciones.
Tradicionalmente, ETL se ejecuta en lotes grandes y programados, a menudo durante la noche. Esto significa que los datos del sistema de destino solo están actualizados hasta la ejecución de lote más reciente.
La diferencia clave es cómo CDC extrae los datos. En lugar de extraer el conjunto de datos en lotes, la CDC captura los cambios a medida que ocurren, lo que permite consultar siempre los datos más actuales en lugar de depender del procesamiento periódico por lotes. Esto puede ayudarte a responder más rápido a los cambios y obtener estadísticas más precisas.
La captura de datos modificados es principalmente un proceso enfocado en la extracción eficiente de todos los cambios incrementales de una base de datos de origen, a menudo casi en tiempo real, para minimizar la carga en el sistema de origen.
En cambio, las dimensiones de cambio lento (SCD) son una técnica de modelado de datos que se aplica en el almacén de datos de destino o en el sistema analítico, y se enfoca en cómo almacenar y administrar el estado histórico de los datos de dimensión (como registros de clientes o atributos de productos) a lo largo del tiempo.
Si bien la CDC es la herramienta para el transporte eficiente de datos de los cambios, estos se suelen aplicar con una estrategia de SCD específica para mantener un historial completo y preciso en el sistema de destino.
La captura de datos modificados puede ser un puente poderoso para conectar los diversos sistemas que conforman una pila de datos moderna o una nube de datos. En lugar de limitarse a bases de datos específicas, las herramientas de CDC están diseñadas para funcionar con una amplia variedad de fuentes y destinos.
Las bases de datos transaccionales son las fuentes más comunes para CDC, ya que capturan cada inserción, actualización y eliminación de los sistemas que ejecutan las operaciones comerciales diarias.
Estos sistemas, que suelen ser el destino principal de los datos de CDC, consolidan información de múltiples fuentes para la inteligencia empresarial, el análisis y la IA.
Usa CDC para extraer datos de cambio de plataformas empresariales fundamentales (a menudo a través de APIs o webhooks) para sincronizar datos de clientes, ventas o asistencia en toda la organización.
Las plataformas de transmisión y mensajería suelen actuar como un bus de mensajería en tiempo real, ya que reciben eventos de cambio de una fuente y los distribuyen a varios consumidores posteriores de forma simultánea.
Un destino común para los registros de eventos de CDC sin procesar, ya que el almacenamiento de objetos proporciona una base escalable y rentable para crear un data lake.
La CDC puede desbloquear una amplia gama de casos de uso críticos, desde garantizar la continuidad de los datos hasta potenciar el análisis en tiempo real y la IA.
Con la captura y propagación de cambios a medida que se producen, la CDC garantiza que varios sistemas (como una base de datos principal más una copia de seguridad, o una base de datos principal más una plataforma de análisis) siempre estén sincronizados. Esto elimina las discrepancias de datos y mantiene la integridad de los datos en todas las plataformas.
La captura de datos modificados funciona identificando, rastreando y extrayendo los cambios realizados en los datos de una base de datos de origen con diferentes enfoques, incluidos los siguientes:
Las bases de datos son la fuente más común y confiable para la captura de datos modificados debido a un componente central que todas comparten: el registro de transacciones. Este registro es un registro inmutable y ordenado de cada cambio, lo que lo convierte en la base perfecta para capturar modificaciones de datos de forma precisa y eficiente sin afectar el rendimiento de la base de datos. Aquí tienes un análisis más profundo de los conceptos clave.
Antes de que se escriban datos en las tablas de la base de datos real, el cambio (una inserción, actualización o eliminación) se registra primero en un registro de transacciones. Las herramientas modernas de CDC aprovechan este registro para capturar cambios de forma no intrusiva. Esta es una parte fundamental de la tecnología de replicación de bases de datos, y aunque el concepto es universal, el nombre de este registro varía entre las bases de datos populares. Estos son algunos ejemplos notables:
Para bases de datos grandes y existentes, leer todo el historial del registro de transacciones puede ser poco práctico debido al rendimiento de la red y otras restricciones. Un patrón común en el mundo real es realizar primero una carga masiva y, luego, usar CDC para sincronizar. El proceso implica lo siguiente:
Este método de “instantánea y recuperación” garantiza que el destino se complete con datos históricos y, luego, se mantenga perfectamente sincronizado con todos los cambios posteriores en vivo. Así es como los servicios administrados como Datastream y Database Migration Service de Google Cloud realizan rellenos sin interrupciones y confiables.
Para administrar este proceso de manera confiable, CDC se basa en identificadores únicos dentro del registro de transacciones, que normalmente se denominan números de secuencia de registro (LSN). Estos números actúan como marcadores precisos para el flujo de cambios. Son fundamentales para lo siguiente:
Estos mecanismos (el registro de transacciones, la instantánea inicial y el número de secuencia de registro) funcionan en conjunto para que la CDC de la base de datos sea altamente eficiente y confiable.
La CDC puede ofrecer varias ventajas que la hacen indispensable en los flujos de trabajo de datos modernos:
Coherencia de los datos en los sistemas
Sincroniza los cambios a medida que se producen, lo que reduce las discrepancias y garantiza datos más precisos en todas las plataformas.
Movimiento de datos eficiente
Garantiza que solo se capturen los cambios en lugar de conjuntos de datos completos, lo que ayuda a reducir significativamente la tensión del sistema y el uso de la red.
Integración perfecta
Conecta tus sistemas con una biblioteca de conectores prediseñados. Muchas plataformas proporcionan interfaces sin código para configurar canalizaciones y administrar automáticamente tareas complejas de backend, como la detección de cambios de esquemas y las transformaciones de datos en tránsito, lo que garantiza que tus datos fluyan sin interrupciones.
Resiliencia operativa
Apoya los esfuerzos de recuperación ante desastres y replicación manteniendo automáticamente los sistemas y las copias de seguridad alineados sin intervención manual.
Estadísticas en tiempo real
Proporciona acceso a los datos más recientes casi al instante, lo que permite tomar decisiones más rápidas y fundamentadas. Esta agilidad puede proporcionar una ventaja fundamental en entornos de ritmo rápido como el comercio financiero, el comercio electrónico y la logística, en los que el valor de los datos se deteriora en segundos.
Varias tecnologías se superponen con la CDC o la complementan, lo que ofrece enfoques variados para administrar los cambios de datos y habilitar el procesamiento en tiempo real. Aquí se muestra cómo se compara la CDC con otros enfoques destacados:
HTAP combina cargas de trabajo transaccionales (OLTP) y analíticas (OLAP) en un solo sistema, lo que proporciona análisis inmediatos de los datos. Si bien esto hace que HTAP sea adecuado para el análisis unificado en un entorno autónomo, puede tener dificultades para sincronizarse con las diversas fuentes de datos distribuidas que existen en una organización. Por otro lado, la CDC se destaca por mantener la coherencia de los datos en varios sistemas y habilitar flujos de trabajo distribuidos.
Las consultas federadas (y un enfoque similar llamado “tablas externas”) permiten que un almacén de datos o un motor de consultas lean datos directamente de un sistema de origen externo, como una base de datos transaccional, en el momento en que se ejecuta una consulta. Este enfoque evita la necesidad de copiar o mover datos, lo que proporciona acceso en vivo a la información donde reside.
Este método puede ser excelente para análisis ad hoc o consultas ocasionales, ya que ofrece acceso inmediato sin la configuración de una canalización de replicación. Sin embargo, para las consultas que se usan con regularidad o que son sensibles al rendimiento, puede ser ineficiente, ya que coloca una carga directa en el sistema operativo de origen con cada consulta. A diferencia de la CDC, que envía de forma proactiva una transmisión de cambios a un destino para optimizar el análisis, la federación extrae datos a pedido, lo que puede no ser adecuado para cargas de trabajo de alta frecuencia.
Kafka es una plataforma de código abierto diseñada para la transmisión y el procesamiento de datos de alto rendimiento. Si bien administra de manera eficiente flujos de datos a gran escala, Kafka complementa la CDC en lugar de reemplazarla. CDC se enfoca en capturar cambios precisos de la base de datos en tiempo real, mientras que Kafka transmite datos de eventos más amplios, como un clic en un sitio web, una lectura de un sensor de IoT o un elemento que se agrega a un carrito de compras. En conjunto, estas tecnologías pueden crear una combinación poderosa para flujos de trabajo en tiempo real.
Si bien CDC usa un enfoque sin código para replicar datos, las tecnologías de integración que se conectan en la capa de aplicación conectan sistemas y plataformas SaaS con un enfoque de poco código. Si quieres transformar los datos a medida que se mueven entre plataformas, los productos de integración a nivel de la aplicación, como Application Integration de Google Cloud, pueden ser una mejor herramienta para el trabajo.
Datastream es el servicio de replicación y captura de datos modificados (CDC) sin servidores, confiable y fácil de usar de Google Cloud. Minimiza la latencia y, al mismo tiempo, permite la sincronización de datos en diversas bases de datos y aplicaciones. A continuación, te mostramos algunos recursos para comenzar:
Comienza a desarrollar en Google Cloud con el crédito gratis de $300 y los más de 20 productos del nivel Siempre gratuito.