josiete.com

Bases De Datos

CDC: sincronizar datos sin volver a copiarlo todo

Una base de datos transaccional envía pequeños bloques de cambios a un sistema analítico

Imagina una tienda con diez millones de pedidos en su base de datos. El equipo de análisis necesita consultar las ventas del día, así que copia esos pedidos a un almacén analítico cada noche. Si hoy han cambiado diez mil, volver a transferir los diez millones para actualizar el informe resulta caro y lento. Change Data Capture (CDC) permite identificar los cambios y enviar solo lo necesario.

Cuando los bytes se disfrazan de texto: Unicode, Python y errores de codificación

Lluvia de caracteres verdes sobre fondo negro, con las palabras decode y encode resaltadas en el centro

Un fichero contiene José, pero después de pasar por un pipeline aparece José. Otro conserva las tildes, aunque una búsqueda de Jose devuelve también José. Y en un tercero los emojis se convierten en ?.

Los tres casos parecen problemas de texto, pero conviene investigar causas distintas: cómo interpretamos los bytes, cómo comparamos las cadenas y qué información se ha perdido durante el recorrido. Cambiar a UTF-8 sin localizar el fallo puede limitarse a guardar correctamente un texto que ya estaba estropeado.

DBeaver: la navaja suiza del data engineer

Un castor trabaja con datos Parquet y DuckDB desde DBeaver

Hay herramientas que resuelven una tarea concreta y otras que terminan convirtiéndose en el cajón de herramientas entero. DBeaver pertenece a la segunda categoría: es un cliente de bases de datos multiplataforma desde el que podemos conectarnos, consultar, explorar, editar y exportar datos sin cambiar de aplicación. Para un data engineer, se parece bastante a una navaja suiza con una interfaz gráfica.