Herramienta open source dibuja el linaje de datos a nivel de campo entre scripts SQL
La tercera parte del proyecto ZGLanguage añade una aplicación web en Django que dibuja el grafo de linaje a nivel de campo y permite rastrear una columna hasta su origen entre distintos scripts.

El proyecto ZGLanguage ha publicado la tercera parte de su herramienta de análisis de linaje de datos a nivel de campo. Las dos entregas anteriores resolvían el parseo y el guardado de esa información; esta añade una aplicación web que la dibuja y permite navegarla. Está escrita en Python sobre Django y el autor la llama web_data_lineage_show.
Qué hace
La aplicación arranca como servicio web y muestra la lista de scripts ya parseados. Al elegir uno, genera el grafo de linaje: las tablas, los campos y las líneas que los conectan, con el método de asociación y las condiciones de cada unión anotados sobre la propia arista. Eso último es lo que suele faltar en las herramientas de catálogo, donde el linaje se queda en tabla a tabla y no baja al campo.
Sobre ese grafo se puede seleccionar cualquier columna y lanzar un rastreo hacia arriba para ver el camino que recorre el dato hasta su origen. La función más útil es la trazabilidad entre ficheros: se elige una tabla origen en la columna izquierda, un campo y el mismo botón, y la herramienta salta a otro script, sigue el rastro por los campos que ya venían trazados de la capa anterior y continúa sola mientras va visualizando. En teoría eso da la cadena completa de un campo sin ir abriendo scripts a mano.
El autor afirma que, tras las pruebas, el linaje parseado a nivel de campo es "completamente exacto". Es su palabra: no hay conjunto de datos de referencia ni comparación con otra herramienta en la nota.
Lo que no dice
La entrada no detalla qué dialectos SQL cubre —el título original habla de uso entre bases de datos, pero esta parte no entra en ello—, ni la licencia del proyecto, ni versiones mínimas de Python o Django, ni cómo se despliega. Tampoco hay medidas de tiempo de parseo sobre esquemas grandes, que es justo donde este tipo de utilidades se atasca.
El código de la aplicación está en el repositorio ZGLanguage, dentro de la carpeta del proyecto de análisis y visualización de linaje a nivel de campo.
Para quien tenga que responder "de dónde sale este número" en un almacén con cientos de transformaciones, la propuesta es razonable. El problema real del linaje no es dibujar el grafo, es mantenerlo actualizado cuando alguien toca un SQL un viernes por la tarde, y ahí no hay nada en la nota que permita saber si el parseo aguanta ese ritmo.


