Cuenta Iniciar sesión
Jump to section

¿Qué es el registro de datos modificados (CDC)?

Copiar URL

El registro de datos modificados es un patrón comprobado de integración que se utiliza para detectar los cambios que se producen en los datos (y el momento en el que esto sucede), así como notificar al resto de los sistemas y servicios para que respondan en consecuencia. Permite mantener la uniformidad y la operatividad en todos los sistemas que dependen de los datos.

Si bien los datos son fundamentales para todos los negocios, sus actualizaciones y cambios permanentes representan un gran desafío, así que las empresas deben estar preparadas. Es esencial que los datos, ya sean de transacciones, pedidos, inventarios o clientes, estén actualizados y disponibles de inmediato para garantizar el funcionamiento de la empresa. Para poder llevar adelante los procesos comerciales importantes, las aplicaciones deben recibir las notificaciones correspondientes cada vez que se actualice una orden de compra, se incorpore un cliente nuevo o se reciba un pago.

Al momento de actualizar la base de datos de origen (que suele ser una base de datos relacional, como Oracle, Microsoft SQL Server, Postgres o MySQL), es posible que también deba actualizar varios de los recursos relacionados, como la memoria caché y el índice de búsqueda. Un enfoque sencillo implicaría actualizar las aplicaciones para renovar esos recursos al mismo tiempo; sin embargo, intentar escribir los datos modificados de manera uniforme en más de un destino representa varios desafíos y un gran trabajo de coordinación. El CDC le permite evitar algunos problemas, como la modificación de los mismos datos en dos sistemas diferentes, y actualizar los recursos de manera simultánea y precisa.

Para lograrlo, realiza un seguimiento de los cambios en las filas de las tablas de origen de las bases de datos, los cuales se clasifican como eventos de adición, actualización y eliminación, y notifica al resto de los sistemas o servicios que dependen de eso datos. Las notificaciones de los cambios se emiten en el mismo orden en el que se llevaron a cabo en la base de datos original. De esta manera, el CDC se asegura de que todas las partes interesadas en un conjunto de datos en particular reciban oportunamente las notificaciones sobre los cambios, de manera que puedan tomar las medidas correspondientes: ya sea que deban actualizar su propia versión de los datos o poner en marcha ciertos procesos empresariales.

El registro de datos modificados ha cobrado importancia en las arquitecturas modernas de microservicios, ya que se ha vuelto indispensable para vincular las bases de datos tradicionales con las arquitecturas de la nube basadas en eventos. Gracias a este patrón de integración, las empresas pueden seguir utilizando sus bases de datos heredadas, sin dejar de aprovechar los datos que generan las tecnologías nuevas. En el caso de las implementaciones nuevas, el CDC posibilita el uso de esquemas y patrones útiles, como la "bandeja de salida", para que los microservicios intercambien los datos consolidados de una transacción de la base de datos.

Si bien el CDC detecta las modificaciones en las bases de datos, necesita un servicio de mensajería para notificar sobre esos cambios a los sistemas y las aplicaciones correspondientes; y la forma más eficiente de lograrlo es gestionarlos como si fueran eventos, como en el caso de las arquitecturas basadas en eventos (EDA), y enviarlos de manera asíncrona.

Apache Kafka es la herramienta ideal para la comunicación asíncrona entre la base de datos y los usuarios que requieren un patrón de consumo de gran volumen que se pueda reproducir. Kafka es una plataforma distribuida para la transmisión de datos que permite no solo publicar, almacenar y procesar flujos de eventos de forma inmediata, sino también suscribirse a ellos. Está diseñada para gestionar los flujos de varias fuentes y enviar los datos a diversos destinos, con alto rendimiento y gran capacidad de ajuste.

El registro de datos modificados garantiza que los eventos transmitidos con Kafka coincidan con los cambios en el sistema de origen o la base de datos. Además, el asincronismo de los mensajes de Kafka permite que se separen los eventos de los consumidores, lo cual posibilita la transmisión confiable de todos los cambios.

Las plataformas de CDC, como Debezium, realizan un seguimiento de las modificaciones en la base de datos. Para ello, supervisan el registro de transacciones a medida que se introducen los cambios. Una alternativa a este enfoque son los procesos simples de encuestas o consultas. 

El CDC, que se basa en el registro de transacciones, ofrece diversas ventajas en comparación con estas opciones, ya que incluye:

  • Registro de todos los cambios: el CDC está diseñado para recopilar todas las modificaciones realizadas en la base de datos. Sin este método, se perderían los cambios intermedios y los datos nuevos, como las actualizaciones y las eliminaciones, que puede haber entre dos consultas.
  • Poca sobrecarga: la combinación del registro de datos modificados y Kafka permite la transmisión casi inmediata de los cambios, lo cual evita que se sobrecargue la CPU por las consultas frecuentes.
  • Ningún impacto en el modelo de datos: ya no se necesitan las columnas de marca de tiempo para determinar la última actualización de los datos.

A continuación, se presentan algunos ejemplos de los diversos casos prácticos del registro de datos modificados.

Integración de microservicios

El registro de datos modificados se puede utilizar para sincronizar los microservicios con las aplicaciones monolíticas tradicionales, lo cual posibilita la transmisión de los cambios de los sistemas heredados a las aplicaciones de microservicios sin problemas.

Replicación de datos

Se puede utilizar el CDC para replicar los datos en varias bases, lagos o almacenes de datos, y garantizar que todos los recursos cuenten con la última versión. De esta manera, los diversos equipos distribuidos (incluso los aislados) pueden acceder a los mismos datos actualizados. 

Paneles de análisis

Se puede utilizar el CDC para incorporar los cambios en los datos a los paneles de análisis (por ejemplo, con fines de inteligencia comercial) y respaldar la toma de decisiones inmediatas.

Auditoría y cumplimiento normativo

Para cumplir con los estrictos requisitos normativos relacionados con los datos y evitar sanciones graves por incumplimiento, es fundamental guardar un historial de los cambios. Se puede utilizar el CDC para guardar los cambios en los datos que se exigen para las auditorías o el archivado. 

Invalidación de las entradas en la memoria caché

Se puede utilizar el registro de datos modificados para eliminar o reemplazar las entradas desactualizadas de la memoria caché y mostrar solamente las últimas versiones.

Actualizaciones del modelo de CQRS

Se puede utilizar el registro de datos modificados para mantener los modelos de lectura del patrón de separación de comandos y consultas (CQRS) sincronizados con los modelos principales.

Búsqueda de texto completo

El CDC puede emplearse para sincronizar automáticamente un índice de búsqueda de texto completo con la base de datos.

El registro de datos modificados permite que su empresa utilice los datos para agilizar la toma de decisiones, lo cual le ahorra tiempo, esfuerzo y dinero.

Aumente el valor de los datos

Las empresas pueden utilizar la información para diferentes propósitos, lo cual aumenta su valor. Con el CDC, es posible sacar el máximo provecho de los datos, pero también preservar su integridad, ya que permite actualizar los mismos datos en varios espacios aislados de manera uniforme.

Mantenga su empresa actualizada

El CDC permite que varias bases de datos y aplicaciones estén sincronizadas con los datos más recientes, así que las partes interesadas de las empresas tienen acceso a la información más actualizada.

Tome mejores decisiones con mayor rapidez

El registro de datos modificados permite que las personas que utilizan los sistemas en las empresas tomen decisiones más rápidas y precisas en función de la información más reciente. Dado que los datos que se utilizan para tomar decisiones suelen perder valor con rapidez, es importante que todas las partes interesadas puedan acceder a ellos lo antes posible utilizando el CDC y Kafka. El acceso a los análisis precisos y casi inmediatos es fundamental para generar una ventaja competitiva y mantenerla.

Evite los retrasos

Cuando los datos de diversos sistemas no están sincronizados, se pueden generar distintos problemas; por ejemplo, al cerrar los pedidos, procesar las transacciones, asistir a los clientes, generar informes o seguir los programas de producción. Cualquiera de estas situaciones puede retrasar los negocios, lo cual se traduce en la pérdida de ingresos. El registro de datos modificados permite que su empresa mantenga los datos sincronizados con baja latencia en todos los sistemas, para garantizar la ejecución ininterrumpida de las operaciones.

Red Hat Integration ofrece funciones de registro de datos modificados a través de Debezium, en combinación con AMQ Streams y Apache Kafka. Debezium es una plataforma distribuida open source de CDC basada en los registros, que permite detectar los cambios en varios sistemas de bases de datos. Es rápida y resistente, de manera que las aplicaciones podrán responder de inmediato y sin perderse ningún evento.

Artículos relacionados

Artículo

¿Qué es la integración?

¿Desea saber qué es la integración? Obtenga información acerca de qué es, cómo incorporarla y por qué es mucho mejor con un enfoque open source.

Artículo

¿Qué es Apache Kafka?

Apache Kafka es una plataforma distribuida de transmisión de datos que permite publicar, almacenar y procesar flujos de registros, así como suscribirse a ellos, de forma inmediata.

Artículo

¿Qué es una API?

Una API o interfaz de programación de aplicaciones es un conjunto de definiciones y protocolos que se usa para diseñar e integrar el software de las aplicaciones.

Más información sobre la integración

Productos

Red Hat Integration

Conjunto completo de tecnologías de integración y mensajería.

Red Hat Runtimes

Conjunto de productos y herramientas para desarrollar y mantener aplicaciones creadas en la nube.

Red Hat Process Automation

Conjunto de productos para automatizar los procesos y decisiones de la empresa de manera inteligente.

Red Hat Cloud Services

Los servicios de nube de Red Hat® incluyen aplicaciones, plataformas y servicios de datos alojados y gestionados que optimizan la experiencia en la nube híbrida.

Contenido adicional

Ebook

Integración ágil: el plano técnico de la arquitectura empresarial

VISION GENERAL

Red Hat Cloud Services

Servicios gestionados para el desarrollo en la nube

Capacitación

Curso de capacitación gratuito

Red Hat Agile Integration Technical Overview

Illustration - mail

Obtenga más contenido como este

Suscríbase a nuestro boletín informativo: Red Hat Shares.