ENES

Change data capture

Copiar cada alta, cambio y baja de una base de datos a otros sistemas en el momento.

Una base de datos escribe cada cambio en su log; un lector de CDC sigue el log y transmite eventos de alta, modificación y baja a un warehouse y a un índice de búsqueda

El change data capture, o CDC (captura de cambios de datos), es una técnica para detectar cada cambio que se hace en una base de datos y mandarlo a otro lado casi en tiempo real. En lugar de copiar una tabla entera todas las noches, el CDC manda solo lo que cambió: un pedido nuevo, un precio actualizado, un cliente borrado, cada uno como un evento chiquito.

El método más común lee el log de transacciones de la propia base. Bases como PostgreSQL y MySQL ya escriben cada cambio en un log antes de aplicarlo, para recuperarse de caídas y para replicar. Una herramienta de CDC como Debezium o AWS Database Migration Service va leyendo ese log y convierte cada entrada en un evento, que en general se publica en un stream. Los enfoques más viejos usan triggers o buscan cada tanto filas con un updated_at reciente, pero cargan más a la base y se les pueden escapar los borrados.

El CDC es lo que permite que un data warehouse esté a minutos de la base de producción en vez de a un día, que un índice de búsqueda o una caché queden sincronizados con la fuente de verdad, y que una base se migre casi sin cortes. Lo delicado es el orden, porque los eventos se tienen que aplicar en la secuencia en que pasaron, los cambios de estructura en el origen, y la primera copia completa que hay que hacer antes de empezar a transmitir cambios encima.

Para quedarse

Para seguir leyendo

Términos relacionados

Más de Datos