La captura de datos de cambios (CDC) es un proceso que se usa para hacer un seguimiento de los cambios que se hacen 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 para capturarlos. Al registrar los cambios en tiempo real, la CDC te permite mantener los sistemas sincronizados, potenciar las analíticas, entrenar modelos de IA y facilitar las migraciones de datos.
Saber qué cambios se producen 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 hace 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 de PostgreSQL on-premise en un almacén de datos de BigQuery, lo que permite crear un panel de analíticas casi en tiempo real y elimina la espera de los lentos procesos por lotes nocturnos.
La captura de datos de cambios (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. La CDC es famosa por lo siguiente:
El proceso de ETL (extracción, transformación y carga) consiste en extraer datos sin procesar de su sistema de origen, transformarlos en la estructura necesaria y, a continuación, cargarlos en el sistema de destino, que suele ser un almacén de datos. El ETL ayuda a garantizar que los datos estén organizados, limpios y listos para su uso posterior en analíticas o aplicaciones.
Tradicionalmente, el proceso 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 tan actualizados como la ejecución de lote más reciente.
La diferencia clave radica en cómo extrae los datos. En lugar de extraer el conjunto de datos en lotes, la CDC captura los cambios a medida que se producen, lo que permite consultar siempre los datos más recientes en lugar de depender del procesamiento por lotes periódico. Esto puede ayudarte a responder más rápido a los cambios y a obtener estadísticas más precisas.
La captura de datos de cambios es principalmente un proceso centrado 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.
Por el contrario, las dimensiones de cambio lento (SCD) son una técnica de modelado de datos que se aplica en el almacén de datos o sistema analítico de destino, y se centra en cómo almacenar y gestionar el estado histórico de los datos de dimensión (como los registros de clientes o los atributos de productos) a lo largo del tiempo.
Aunque la CDC es la herramienta para transportar los cambios de datos de forma eficiente, estos cambios suelen aplicarse mediante una estrategia de SCD específica para mantener un historial completo y preciso en el sistema de destino.
La captura de datos de cambios puede ser un puente eficaz para conectar los diversos sistemas que componen 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 de CDC, ya que capturan cada inserción, actualización y eliminación de los sistemas que ejecutan las operaciones empresariales diarias.
Estos sistemas, que suelen ser el destino principal de los datos de CDC, consolidan la información de varias fuentes para la inteligencia empresarial, las analíticas y la IA.
Usa CDC para extraer datos de cambios de plataformas empresariales críticas (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 streaming y mensajería suelen actuar como un bus de mensajes en tiempo real, recibiendo eventos de cambio de una fuente y distribuyéndolos a varios consumidores posteriores simultáneamente.
Un destino común para los registros de eventos de CDC sin procesar, ya que el almacén de objetos proporciona una base escalable y rentable para crear un data lake.
CDC puede habilitar una amplia gama de casos prácticos críticos, desde garantizar la continuidad de los datos hasta potenciar las analíticas y la IA en tiempo real.
Al capturar y propagar los cambios a medida que se producen, la CDC garantiza que varios sistemas (como una base de datos principal y una copia de seguridad, o una base de datos principal y una plataforma de analíticas) estén siempre sincronizados. De esta forma, se eliminan las discrepancias en los datos y se mantiene la integridad de los datos en todas las plataformas.
La captura de datos de cambios funciona identificando, monitorizando y extrayendo los cambios que se hacen en los datos de una base de datos de origen mediante diferentes enfoques, como los siguientes:
Las bases de datos son la fuente más común y fiable para la captura de datos de cambios, ya que todas comparten un componente fundamental: 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 al rendimiento de la base de datos. A continuación, analizamos en detalle los conceptos clave.
Antes de que se escriban datos en las tablas de la base de datos, el cambio (inserción, actualización o eliminación) se registra primero en un registro de transacciones. Las herramientas modernas de CDC aprovechan este registro para captar los cambios de forma no intrusiva. 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 en las bases de datos más populares. Algunos ejemplos destacados:
En el caso de las bases de datos grandes, leer todo el historial del registro de transacciones puede ser poco práctico debido al rendimiento de la red y otras limitaciones. Un patrón común en el mundo real es realizar primero una carga masiva y, después, usar CDC para sincronizar. El proceso implica:
Este método de "captura y puesta al día" garantiza que el destino se rellene por completo con datos históricos y, después, se mantenga perfectamente sincronizado con todos los cambios en tiempo real posteriores. Así es como los servicios gestionados como Datastream y Database Migration Service de Google Cloud realizan rellenos de datos históricos fiables y sin interrupciones.
Para gestionar este proceso de forma fiable, CDC se basa en identificadores únicos dentro del registro de transacciones, que normalmente se denominan números de secuencia de registro (LSNs). Estos números actúan como marcadores precisos para el flujo de cambios. Son fundamentales para:
Estos mecanismos (el registro de transacciones, la captura inicial y el número de secuencia de registro) funcionan en conjunto para que el CDC de bases de datos sea muy eficiente y fiable.
La CDC puede ofrecer varias ventajas que la hacen indispensable en los flujos de trabajo de datos modernos:
Coherencia de los datos en todos los sistemas
Sincroniza los cambios a medida que se producen, lo que reduce las discrepancias y garantiza que los datos sean más precisos en todas las plataformas.
Traslado de datos eficiente
Solo se capturan los cambios en lugar de conjuntos de datos completos, lo que ayuda a reducir significativamente la carga sobre el sistema y el uso de la red.
Integración perfecta
Conecta tus sistemas mediante una biblioteca de conectores predefinidos. Muchas plataformas ofrecen interfaces sin código para configurar flujos de procesamiento y gestionar automáticamente tareas complejas de backend, como la detección de cambios en el esquema y las transformaciones de datos en tránsito, lo que garantiza que los datos fluyan sin interrupciones.
Resiliencia operativa
Admite la recuperación tras fallos y las labores de replicación manteniendo automáticamente los sistemas y las copias de seguridad alineados sin intervención manual.
Información valiosa en tiempo real
Permite acceder a los datos más recientes casi al instante, lo que agiliza la toma de decisiones y la fundamenta mejor. Esta agilidad puede proporcionar una ventaja crucial en entornos dinámicos como el comercio financiero, el comercio electrónico y la logística, donde el valor de los datos se deteriora en segundos.
Varias tecnologías se solapan con la CDC o la complementan, ofreciendo diferentes enfoques para gestionar los cambios en los datos y permitir el procesamiento en tiempo real. Así es como se compara el CDC con otros enfoques destacados:
HTAP combina cargas de trabajo transaccionales (OLTP) y analíticas (OLAP) en un solo sistema, lo que proporciona analíticas inmediatas sobre los datos. Aunque esto hace que HTAP sea muy adecuado para la analítica unificada 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 destaca por mantener la coherencia de los datos en varios sistemas y por permitir 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. De esta forma, no es necesario copiar ni mover los datos, ya que se puede acceder a la información en tiempo real desde donde se encuentre.
Este método puede ser excelente para análisis ad hoc o consultas ocasionales, ya que ofrece acceso inmediato sin necesidad de configurar un flujo de replicación. Sin embargo, puede ser ineficiente para las consultas que se usan con frecuencia o que son sensibles al rendimiento, ya que ejerce una carga directa en el sistema operativo de origen con cada consulta. A diferencia de la CDC, que envía de forma proactiva un flujo de cambios a un destino para optimizar las analíticas, la federación extrae los datos bajo demanda, lo que puede no ser adecuado para cargas de trabajo de alta frecuencia.
Kafka es una plataforma de código abierto diseñada para el procesamiento y el streaming de datos de alto rendimiento. Aunque gestiona de forma eficiente flujos de datos a gran escala, Kafka complementa la CDC en lugar de sustituirla. La CDC se centra en capturar cambios precisos en bases de datos en tiempo real, mientras que Kafka transmite datos de eventos más amplios, como un clic en un sitio web, la lectura de un sensor de IoT o la adición de un artículo a un carrito de la compra. Juntas, estas tecnologías pueden crear una combinación potente para los flujos de trabajo en tiempo real.
Aunque la 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 usando un enfoque con poco código. Si quieres transformar los datos a medida que se mueven entre plataformas, los productos de integración a nivel de aplicación, como Application Integration de Google Cloud, pueden ser una mejor herramienta para el trabajo.
Datastream es el servicio de captura y replicación de datos de cambios (CDC) sin servidor, fiable y fácil de usar de Google Cloud. Minimiza la latencia y permite sincronizar datos en distintas bases de datos y aplicaciones. Aquí tienes algunos recursos que te ayudarán a empezar:
Empieza a crear en Google Cloud con 300 USD en crédito gratis y más de 20 productos Always Free.