{"id":6747,"date":"2026-07-12T02:05:41","date_gmt":"2026-07-12T10:05:41","guid":{"rendered":"https:\/\/www.gudusoft.com\/what-is-data-lineage\/"},"modified":"2026-07-13T19:01:49","modified_gmt":"2026-07-14T03:01:49","slug":"what-is-data-lineage","status":"publish","type":"page","link":"https:\/\/www.gudusoft.com\/es\/que-es-el-linaje-de-datos\/","title":{"rendered":"\u00bfQu\u00e9 es el linaje de datos? Definici\u00f3n, ejemplos y c\u00f3mo funciona."},"content":{"rendered":"<p>\u00bfQu\u00e9 es el linaje de datos? <strong>Linaje de datos<\/strong> Es la ruta documentada que siguen los datos desde sus fuentes originales hasta sus destinos finales, incluyendo cada tabla, vista, trabajo y transformaci\u00f3n por la que pasan en el camino. Responde a dos preguntas que todo equipo de datos se hace: <em>\u201c\u00bfDe d\u00f3nde proviene este valor?\u201d<\/em> (procedencia) y <em>\u201c\u00bfQu\u00e9 depende de ello aguas abajo?\u201d<\/em> (an\u00e1lisis de impacto). En los sistemas basados en SQL, el linaje generalmente se extrae autom\u00e1ticamente analizando el c\u00f3digo SQL que mueve y reformatea los datos.<\/p>\n\n\n\n<div class=\"gd-stats\"><div class=\"gd-stat\"><b>39<\/b><span>Dialectos SQL, cada uno con un analizador dedicado.<\/span><\/div><div class=\"gd-stat\"><b>Nivel de columna<\/b><span>granularidad, no solo a nivel de tabla<\/span><\/div><div class=\"gd-stat\"><b>Directo + indirecto<\/b><span>relaciones de linaje<\/span><\/div><div class=\"gd-stat\"><b>Est\u00e1tico<\/b><span>an\u00e1lisis, nunca lee datos de tabla<\/span><\/div><\/div>\n\n\n\n<p>Esta p\u00e1gina ofrece una definici\u00f3n pr\u00e1ctica para profesionales: qu\u00e9 registra realmente el linaje, la diferencia entre la granularidad a nivel de tabla y a nivel de columna, las relaciones directas e indirectas, las tres formas en que se construye el linaje y qui\u00e9n lo necesita realmente. Los ejemplos utilizan SQL, ya que en la mayor\u00eda de los almacenes de datos, SQL es donde reside la l\u00f3gica de transformaci\u00f3n.<\/p>\n\n\n\n<div class=\"wp-block-group gd-callout is-layout-constrained\"><div class=\"wp-block-group__inner-container\">\n\n<p><strong>Consulta el linaje en lugar de leer sobre \u00e9l:<\/strong> Pegue cualquier consulta SQL en el <a href=\"https:\/\/sqlflow.gudusoft.com\/?utm_source=gudusoft&amp;utm_medium=website&amp;utm_campaign=what-is-data-lineage\" target=\"_blank\" rel=\"noreferrer noopener\">Visualizador de linaje SQLFlow gratuito<\/a> y obtenga un diagrama de linaje interactivo a nivel de columna en segundos.<\/p>\n\n<\/div><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Las dos preguntas que responde el linaje: an\u00e1lisis de procedencia e impacto<\/h2>\n\n\n\n<p>El linaje de datos es un gr\u00e1fico que se lee en dos direcciones. L\u00e9alo. <strong>r\u00edo arriba<\/strong> Y as\u00ed se obtiene la procedencia: partiendo de una cifra en un informe, se retrocede a trav\u00e9s de cada vista, uni\u00f3n y c\u00e1lculo hasta llegar a las columnas de origen originales de las que se deriv\u00f3. Esta es la direcci\u00f3n que interesa a auditores, reguladores y a cualquiera que est\u00e9 depurando un dato err\u00f3neo.<\/p>\n\n\n\n<p>L\u00e9elo <strong>r\u00edo abajo<\/strong> Y as\u00ed se obtiene un an\u00e1lisis de impacto: partiendo de una columna que se desea renombrar, reescribir o eliminar, se enumeran todas las tablas, vistas, procedimientos e informes que se ver\u00edan afectados. Esta es la direcci\u00f3n que les interesa a los ingenieros antes de un cambio de esquema o una migraci\u00f3n, cuando la alternativa es buscar en miles de scripts y esperar lo mejor.<\/p>\n\n\n\n<p>Los t\u00e9rminos a veces se usan de forma imprecisa. Estrictamente, <em>procedencia<\/em> es el rastro hacia atr\u00e1s, <em>an\u00e1lisis de impacto<\/em> es el rastreo hacia adelante, y <em>linaje de datos<\/em> es el gr\u00e1fico de dependencias subyacente que hace posibles ambos recorridos.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Un ejemplo concreto<\/h2>\n\n\n\n<p>Consideremos un extracto de almac\u00e9n rutinario:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>INSERT INTO monthly_revenue (month, total) SELECT DATE_TRUNC(&#039;month&#039;, o.order_date) AS month, SUM(o.amount) AS total FROM orders o JOIN customers c ON o.customer_id = c.id WHERE c.region = &#039;EMEA&#039; GROUP BY DATE_TRUNC(&#039;month&#039;, o.order_date);<\/code><\/pre>\n\n\n\n<p>El linaje extra\u00eddo de esta \u00fanica afirmaci\u00f3n ya tiene dos tipos de relaci\u00f3n distintos:<\/p>\n\n\n\n<ul><li><strong>Linaje directo<\/strong> \u2014 Los datos fluyen realmente hacia la salida: <code>pedidos.fecha_del_pedido<\/code> fuentes <code>ingresos_mensuales.mes<\/code> a trav\u00e9s de <code>FECHA_TRUNC<\/code>, y <code>pedidos.cantidad<\/code> fuentes <code>ingresos_mensuales.total<\/code> a trav\u00e9s de <code>SUMA<\/code>.<\/li>\n<li><strong>Linaje indirecto<\/strong> \u2014 columnas que nunca aparecen en el resultado final, pero que lo moldean: <code>clientes.regi\u00f3n<\/code> filtra las filas y <code>pedidos.id_cliente<\/code> unido a <code>clientes.id<\/code> decide qu\u00e9 filas coinciden. Cambia c\u00f3mo <code>regi\u00f3n<\/code> est\u00e1 poblado y cada n\u00famero en <code>ingresos_mensuales<\/code> cambios, aunque <code>regi\u00f3n<\/code> No aparece en ning\u00fan lugar del resultado.<\/li><\/ul>\n\n\n\n<p>Una verdadera canalizaci\u00f3n consta de miles de sentencias como esta, estratificadas a trav\u00e9s de vistas, procedimientos almacenados y modelos dbt. Las herramientas de linaje existen porque ning\u00fan ser humano puede recordar ese gr\u00e1fico. Para ver m\u00e1s casos pr\u00e1cticos, incluyendo linaje de m\u00faltiples saltos y procedimientos almacenados, consulte nuestra <a href=\"https:\/\/www.gudusoft.com\/es\/ejemplos-de-linaje-de-datos\/\">ejemplos de linaje de datos<\/a> Recorrido.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Linaje a nivel de tabla frente a linaje a nivel de columna<\/h2>\n\n\n\n<p>El linaje se presenta en dos niveles de granularidad, y la diferencia determina lo que realmente se puede hacer con \u00e9l.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th><\/th><th>Linaje a nivel de tabla<\/th><th>Linaje a nivel de columna<\/th><\/tr><\/thead><tbody>\n<tr><td>Lo que registra<\/td><td><code>ingresos_mensuales<\/code> est\u00e1 construido a partir de <code>pedidos<\/code> y <code>clientes<\/code><\/td><td><code>ingresos_mensuales.total<\/code> = <code>SUMA(pedidos.cantidad)<\/code>, filtrado por <code>clientes.regi\u00f3n<\/code>, se uni\u00f3 el <code>ID_cliente = ID<\/code><\/td><\/tr>\n<tr><td>An\u00e1lisis de impacto<\/td><td>Aproximado: marca a todos los consumidores de la tabla, incluidos aquellos que la columna modificada nunca toca.<\/td><td>Preciso: solo marca a los consumidores a los que realmente alimenta la columna.<\/td><\/tr>\n<tr><td>Respuestas de auditor\u00eda<\/td><td>\u201cEste informe utiliza estas tablas\u201d<\/td><td>\u201cEsta cifra se calcula a partir de estos campos de origen, mediante estas transformaciones\u201d.<\/td><\/tr>\n<tr><td>Fuente t\u00edpica<\/td><td>Metadatos del orquestador de trabajos, registros de consultas<\/td><td>Analizar el propio SQL<\/td><\/tr>\n<\/tbody><\/table><\/figure>\n\n\n\n<p>El linaje a nivel de tabla es barato de recopilar y \u00fatil para un primer mapa de una tuber\u00eda. Pero la mayor\u00eda de las preguntas reales son preguntas de columna: qu\u00e9 informes utilizan <code>correo electr\u00f3nico<\/code>, que los campos de origen alimentan esta cifra regulada, es cualquier cosa que lea la columna que queremos eliminar. Eso requiere resolver cada columna de salida a trav\u00e9s de uniones, subconsultas, CTE, vistas y <code>SELECCIONAR *<\/code> expansi\u00f3n: trabajo del analizador, no extracci\u00f3n de registros. La mec\u00e1nica se cubre en profundidad en nuestra gu\u00eda para <a href=\"https:\/\/www.gudusoft.com\/es\/linaje-de-datos-a-nivel-de-columna\/\">linaje de datos a nivel de columna<\/a>.<\/p>\n\n\n\n<div class=\"wp-block-group gd-panel-navy is-layout-constrained\"><div class=\"wp-block-group__inner-container\">\n\n<h2 class=\"wp-block-heading\">C\u00f3mo se construye el linaje de datos: tres enfoques<\/h2>\n\n\n\n<p>Todas las herramientas de linaje disponibles en el mercado utilizan una combinaci\u00f3n de tres t\u00e9cnicas.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Acercarse<\/th><th>C\u00f3mo funciona<\/th><th>Fuerte en<\/th><th>D\u00e9bil en<\/th><\/tr><\/thead><tbody>\n<tr><td>An\u00e1lisis SQL est\u00e1tico<\/td><td>Analizar el c\u00f3digo SQL (vistas, procedimientos, scripts ETL, modelos dbt) y derivar el grafo de dependencias a partir de la sintaxis y la sem\u00e1ntica.<\/td><td>Precisi\u00f3n a nivel de columna; cubre todas las rutas de c\u00f3digo, incluidas las que no se han ejecutado recientemente; no necesita acceso a los datos.<\/td><td>Se necesita un analizador sint\u00e1ctico que realmente entienda cada dialecto SQL; las transformaciones que no son SQL (Python, Spark DataFrames) est\u00e1n fuera del alcance.<\/td><\/tr>\n<tr><td>Basado en tiempo de ejecuci\u00f3n\/registro de consultas<\/td><td>Observe lo que realmente se ejecut\u00f3: historial de consultas del almac\u00e9n de datos, eventos del orquestador (el modelo OpenLineage\/Marquez).<\/td><td>Captura de ejecuciones reales en trabajos heterog\u00e9neos, incluidos los que no utilizan SQL; informaci\u00f3n fidedigna sobre &quot;qu\u00e9 se ejecut\u00f3 y cu\u00e1ndo&quot;.<\/td><td>Solo ve las rutas que se ejecutaron durante el per\u00edodo de observaci\u00f3n; la granularidad suele ser a nivel de tabla; los registros a\u00fan contienen SQL que debe analizarse para obtener detalles de las columnas.<\/td><\/tr>\n<tr><td>Documentaci\u00f3n manual<\/td><td>Los analistas registran las correspondencias en hojas de c\u00e1lculo o en un cat\u00e1logo a mano.<\/td><td>Contexto empresarial y definiciones que ning\u00fan analizador sint\u00e1ctico puede inferir<\/td><td>Queda obsoleto al d\u00eda siguiente de ser escrito; propenso a errores a cualquier escala real.<\/td><\/tr>\n<\/tbody><\/table><\/figure>\n\n\n\n<p>Estas herramientas se complementan, no compiten entre s\u00ed: el linaje de ejecuci\u00f3n indica qu\u00e9 se ejecut\u00f3, la curaci\u00f3n manual aporta significado empresarial y el an\u00e1lisis SQL est\u00e1tico proporciona el mapa l\u00f3gico a nivel de columna. Dado que la mayor parte de la l\u00f3gica de transformaci\u00f3n del almac\u00e9n de datos se basa en SQL, el an\u00e1lisis est\u00e1tico realiza el trabajo m\u00e1s complejo, y su calidad depende directamente de la calidad de su analizador. <a href=\"https:\/\/www.gudusoft.com\/es\/herramienta-de-linaje-de-datos-sql\/\">Flujo de SQL de Gudu<\/a> Adopta este enfoque con 39 analizadores sint\u00e1cticos espec\u00edficos para cada dialecto (Snowflake, BigQuery, Oracle, SQL Server, Teradata y 34 m\u00e1s), basados en un compilador SQL desarrollado desde mediados de la d\u00e9cada de 2000 y validado con aproximadamente 13\u00a0600 conjuntos de pruebas por dialecto. Esta profundidad es lo que le permite manejar el SQL que los analizadores sint\u00e1cticos m\u00e1s sencillos no pueden procesar: procedimientos almacenados de Oracle PL\/SQL y T-SQL, SQL din\u00e1mico compilado en tiempo de ejecuci\u00f3n, tablas temporales y pilas de vistas.<\/p>\n\n<\/div><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">\u00bfPara qu\u00e9 se utiliza el linaje de datos?<\/h2>\n\n\n\n<p>En la pr\u00e1ctica, existen cuatro casos de uso principales para la adopci\u00f3n de sistemas de linaje:<\/p>\n\n\n\n<ul><li><strong>Cumplimiento normativo.<\/strong> La norma BCBS 239 exige que los bancos demuestren c\u00f3mo se agregan las cifras de riesgo a partir de los datos de origen; las obligaciones de mapeo de datos del RGPD requieren saber a qu\u00e9 sistemas y tablas derivadas se transfieren los datos personales. La procedencia a nivel de columna es el elemento que satisface ambos requisitos: \u00abestos campos de origen exactos, a trav\u00e9s de estas transformaciones\u00bb.<\/li>\n<li><strong>Gobernanza de datos.<\/strong> Los cat\u00e1logos y glosarios se vuelven obsoletos cuando el linaje se mantiene manualmente. El linaje extra\u00eddo autom\u00e1ticamente mantiene actualizado el mapa de dependencias a medida que cambia el c\u00f3digo y puede alimentar directamente las plataformas de cat\u00e1logo; SQLFlow, por ejemplo, incluye adaptadores de exportaci\u00f3n para DataHub, Microsoft Purview y OpenMetadata.<\/li>\n<li><strong>Depuraci\u00f3n y an\u00e1lisis de la causa ra\u00edz.<\/strong> Cuando un panel muestra un n\u00famero err\u00f3neo, el linaje convierte &quot;buscar en todos los scripts que mencionan esta tabla&quot; en &quot;retroceder desde esta columna&quot;. Horas en lugar de d\u00edas.<\/li>\n<li><strong>Migraci\u00f3n y modernizaci\u00f3n.<\/strong> Antes de migrar de Oracle o Teradata a Snowflake, BigQuery o Databricks, el gr\u00e1fico de dependencias indica qu\u00e9 debe migrarse junto, en qu\u00e9 orden y qu\u00e9 objetos ya no se leen y pueden eliminarse en lugar de migrarse.<\/li><\/ul>\n\n\n\n<p><strong class=\"gd-lead-in\">Una heur\u00edstica \u00fatil:<\/strong> Si tu equipo alguna vez ha retrasado un cambio de esquema porque nadie estaba seguro de qu\u00e9 podr\u00eda romper, ya necesitas el linaje; simplemente lo est\u00e1s calculando manualmente, lentamente y con errores.<\/p>\n\n\n\n<div class=\"wp-block-group gd-panel-navy gd-cta is-layout-constrained\"><div class=\"wp-block-group__inner-container\">\n\n<h2 class=\"wp-block-heading\">Analiza tu propio c\u00f3digo SQL, no solo el ejemplo.<\/h2>\n\n\n<p>Introduce una consulta y obt\u00e9n un diagrama de linaje interactivo a nivel de columna en segundos.<\/p>\n\n\n<div class=\"wp-block-buttons is-content-justification-center is-layout-flex wp-container-3\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/sqlflow.gudusoft.com\/?utm_source=gudusoft&amp;utm_medium=website&amp;utm_campaign=what-is-data-lineage\" target=\"_blank\" rel=\"noreferrer noopener\">Prueba SQLFlow gratis<\/a><\/div>\n\n\n<div class=\"wp-block-button is-style-outline\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/www.gudusoft.com\/es\/herramienta-de-linaje-de-datos-sql\/\">Consulte la herramienta de linaje.<\/a><\/div>\n<\/div>\n\n<\/div><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Preguntas frecuentes<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">\u00bfQu\u00e9 es el linaje de datos en t\u00e9rminos sencillos?<\/h3>\n\n\n<p>Es el mapa que muestra el origen y el destino de tus datos: qu\u00e9 fuentes alimentan cada tabla o informe, y qu\u00e9 transformaciones se producen entre medias. Imag\u00ednalo como un gr\u00e1fico de dependencias de datos, que se puede recorrer hacia atr\u00e1s (procedencia) y hacia adelante (an\u00e1lisis de impacto).<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u00bfCu\u00e1l es la diferencia entre linaje de datos y procedencia de datos?<\/h3>\n\n\n<p>La procedencia es el rastreo inverso desde un producto hasta su origen. El linaje es el gr\u00e1fico de dependencias completo, que permite determinar la procedencia en una direcci\u00f3n y analizar el impacto en la otra. En el uso cotidiano, ambos t\u00e9rminos se superponen, pero la distinci\u00f3n precisa radica en si se trata de un gr\u00e1fico o de un recorrido.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u00bfQu\u00e9 es el linaje de datos indirecto?<\/h3>\n\n\n<p>El linaje indirecto abarca columnas que influyen en un resultado sin aparecer en \u00e9l: columnas utilizadas en <code>D\u00d3NDE<\/code> filtros, <code>UNIRSE<\/code> condiciones y <code>AGRUPACI\u00d3N POR<\/code> cl\u00e1usulas. Modifican todos los valores de salida, por lo que el an\u00e1lisis de impacto que las ignora es incompleto. SQLFlow modela el linaje indirecto como un tipo de relaci\u00f3n independiente y configurable; la mayor\u00eda de las herramientas de linaje no hacen esta distinci\u00f3n.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u00bfEs necesario el linaje de datos para cumplir con el RGPD o la norma BCBS 239?<\/h3>\n\n\n<p>Ninguno de los dos marcos normativos considera el &quot;linaje&quot; como una tecnolog\u00eda obligatoria, pero ambos requieren lo que este proporciona: la norma BCBS 239 exige a los bancos que demuestren c\u00f3mo se agregan los datos de riesgo a partir de sus fuentes, y el mapeo de datos del RGPD exige saber por d\u00f3nde fluyen los datos personales. El linaje a nivel de columna es la forma est\u00e1ndar de generar esa evidencia a gran escala.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u00bfC\u00f3mo se crea autom\u00e1ticamente el linaje de datos?<\/h3>\n\n\n<p>Inyecte su c\u00f3digo SQL a una herramienta de an\u00e1lisis est\u00e1tico de linaje. Con SQLFlow, puede pegar c\u00f3digo SQL, cargar archivos, conectarse a una base de datos mediante JDBC, importar un manifiesto dbt o ingerir el historial de consultas de Snowflake o los registros de consultas de Redshift; analiza el c\u00f3digo y genera diagramas interactivos a nivel de columna, adem\u00e1s de exportaciones JSON\/CSV y una API REST. Las implementaciones empresariales escanean por lotes entornos de m\u00e1s de 100 bases de datos y m\u00e1s de un mill\u00f3n de columnas.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u00bfLa creaci\u00f3n del linaje requiere acceso a mis datos reales?<\/h3>\n\n\n<p>No con el an\u00e1lisis est\u00e1tico. El an\u00e1lisis sint\u00e1ctico de SQL requiere el c\u00f3digo y, opcionalmente, los metadatos del esquema (definiciones de tablas y columnas), nunca las filas de las tablas. La edici\u00f3n local de SQLFlow, adem\u00e1s, mantiene el texto SQL dentro de la red, por lo que resulta ideal para bancos y otros entornos regulados.<\/p>\n\n\n\n<div class=\"wp-block-group alignfull gd-band gd-band-navy gd-cta is-layout-constrained\" style=\"padding-top:56px;padding-bottom:56px\"><div class=\"wp-block-group__inner-container\">\n\n<h2 class=\"wp-block-heading\">Vea el linaje oculto en su SQL.<\/h2>\n\n\n<p>Pegue una consulta en el visualizador gratuito y obtenga un diagrama de linaje a nivel de columna de inmediato, o explore el completo <a href=\"https:\/\/www.gudusoft.com\/es\/herramienta-de-linaje-de-datos-sql\/\">Herramienta de linaje de datos SQL<\/a> para escaneo de toda la propiedad.<\/p>\n\n\n<div class=\"wp-block-buttons is-layout-flex\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/sqlflow.gudusoft.com\/?utm_source=gudusoft&amp;utm_medium=website&amp;utm_campaign=what-is-data-lineage\" target=\"_blank\" rel=\"noreferrer noopener\">Prueba SQLFlow gratis<\/a><\/div>\n<\/div>\n\n<\/div><\/div>\n\n\n\n<script type=\"application\/ld+json\">{\n    \"@context\": \"https:\\\/\\\/schema.org\",\n    \"@graph\": [\n        {\n            \"@type\": \"TechArticle\",\n            \"headline\": \"What Is Data Lineage? Definition, Examples, and How It Works\",\n            \"description\": \"A practitioner's definition of data lineage: provenance vs impact analysis, table-level vs column-level granularity, direct vs indirect lineage, and the three ways lineage is built (static SQL analysis, runtime logs, manual documentation).\",\n            \"url\": \"https:\\\/\\\/www.gudusoft.com\\\/what-is-data-lineage\\\/\",\n            \"author\": {\n                \"@type\": \"Organization\",\n                \"name\": \"Gudu Software\",\n                \"url\": \"https:\\\/\\\/www.gudusoft.com\\\/\"\n            },\n            \"publisher\": {\n                \"@type\": \"Organization\",\n                \"name\": \"Gudu Software\",\n                \"url\": \"https:\\\/\\\/www.gudusoft.com\\\/\"\n            }\n        },\n        {\n            \"@type\": \"FAQPage\",\n            \"mainEntity\": [\n                {\n                    \"@type\": \"Question\",\n                    \"name\": \"What is data lineage in simple terms?\",\n                    \"acceptedAnswer\": {\n                        \"@type\": \"Answer\",\n                        \"text\": \"It is the map of where your data comes from and where it goes: which sources feed each table or report, and what transformations happen in between. Think of it as a dependency graph for data, traversable backward (provenance) and forward (impact analysis).\"\n                    }\n                },\n                {\n                    \"@type\": \"Question\",\n                    \"name\": \"What is the difference between data lineage and data provenance?\",\n                    \"acceptedAnswer\": {\n                        \"@type\": \"Answer\",\n                        \"text\": \"Provenance is the backward trace from one output to its origins. Lineage is the whole dependency graph, which supports provenance in one direction and impact analysis in the other. In everyday usage the terms overlap, but the graph-versus-traversal distinction is the precise one.\"\n                    }\n                },\n                {\n                    \"@type\": \"Question\",\n                    \"name\": \"What is indirect data lineage?\",\n                    \"acceptedAnswer\": {\n                        \"@type\": \"Answer\",\n                        \"text\": \"Indirect lineage covers columns that influence a result without appearing in it, such as columns used in WHERE filters, JOIN conditions, and GROUP BY clauses. They change every output value, so impact analysis that ignores them is incomplete. Gudu SQLFlow models indirect lineage as a separate, toggleable relationship type; most lineage tools do not make the distinction.\"\n                    }\n                },\n                {\n                    \"@type\": \"Question\",\n                    \"name\": \"Is data lineage required for GDPR or BCBS 239 compliance?\",\n                    \"acceptedAnswer\": {\n                        \"@type\": \"Answer\",\n                        \"text\": \"Neither framework names lineage as a mandatory technology, but both require what lineage provides: BCBS 239 asks banks to show how risk data is aggregated from its sources, and GDPR data mapping requires knowing where personal data flows. Column-level lineage is the standard way to produce that evidence at scale.\"\n                    }\n                },\n                {\n                    \"@type\": \"Question\",\n                    \"name\": \"How do you create data lineage automatically?\",\n                    \"acceptedAnswer\": {\n                        \"@type\": \"Answer\",\n                        \"text\": \"Feed your SQL to a static-analysis lineage tool. With Gudu SQLFlow you can paste SQL, upload files, connect a database over JDBC, import a dbt manifest, or ingest Snowflake query history or Redshift query logs; it parses the code and produces interactive column-level diagrams plus JSON\\\/CSV exports and a REST API. Enterprise deployments batch-scan estates of 100+ databases and over a million columns.\"\n                    }\n                },\n                {\n                    \"@type\": \"Question\",\n                    \"name\": \"Does building lineage require access to my actual data?\",\n                    \"acceptedAnswer\": {\n                        \"@type\": \"Answer\",\n                        \"text\": \"Not with static analysis. Parsing SQL requires the code and, optionally, schema metadata (table and column definitions), never the rows in your tables. SQLFlow's On-Premise edition additionally keeps the SQL text itself inside your network, which is why it fits banks and other regulated environments.\"\n                    }\n                }\n            ]\n        }\n    ]\n}<\/script>","protected":false},"excerpt":{"rendered":"<p>What is data lineage? Data lineage is the documented path data takes from its original sources to its final destinations, including every table, view, job, and transformation it passes through along the way. It answers two questions every data team asks: &#8220;Where did this value come from?&#8221; (provenance) and &#8220;What depends on it downstream?&#8221; (impact analysis). In SQL-based systems, lineage is usually extracted automatically by parsing the SQL code that moves and reshapes the data. 39SQL dialects, each a dedicated parser Column-levelgranularity, not just table-level Direct + indirectlineage relationships Staticanalysis, never reads table data This page is a working definition\u2026<\/p>","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":[],"blocksy_meta":{"styles_descriptor":{"styles":{"desktop":"","tablet":"","mobile":""},"google_fonts":[],"version":5}},"_links":{"self":[{"href":"https:\/\/www.gudusoft.com\/es\/wp-json\/wp\/v2\/pages\/6747"}],"collection":[{"href":"https:\/\/www.gudusoft.com\/es\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.gudusoft.com\/es\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.gudusoft.com\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.gudusoft.com\/es\/wp-json\/wp\/v2\/comments?post=6747"}],"version-history":[{"count":1,"href":"https:\/\/www.gudusoft.com\/es\/wp-json\/wp\/v2\/pages\/6747\/revisions"}],"predecessor-version":[{"id":6821,"href":"https:\/\/www.gudusoft.com\/es\/wp-json\/wp\/v2\/pages\/6747\/revisions\/6821"}],"wp:attachment":[{"href":"https:\/\/www.gudusoft.com\/es\/wp-json\/wp\/v2\/media?parent=6747"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}