Datatrail
LINEAGE - DIAGRAM

Data Lineage Diagram Tool: Automatic Lineage Visualization, Map, and Graph

Datatrail draws the diagram for you. It reads query history and your dbt graph, then renders a living lineage visualization from raw ingestion tables to the dashboards your team trusts, so the map matches production instead of the whiteboard photo in a wiki.

See pricing
Read-only Never moves your data
Lineage map
Lineage mapped from query history. Read-only connection.
0

Read-only connection. Datatrail never moves or mutates your data.

In short

A data lineage diagram is a visual map of how data flows from source systems through transformations to final reports, drawn as nodes for tables or columns and edges for the dependencies between them. Datatrail generates the diagram automatically by parsing warehouse query history and your dbt manifest, connecting tables like stg_stripe_charges to fct_orders to the revenue dashboards downstream. The graph redraws as your models run, so it reflects what production actually does rather than a diagram someone drew once. The connection is read-only by design, so Datatrail never moves, copies, or mutates a single row.

// CAPABILITY

What you get

Lineage diagram, built for data engineers and analytics teams

Auto-built from query history

Datatrail parses Snowflake, BigQuery, Redshift, and Postgres query logs to infer table-to-table edges, so fct_orders correctly links back to stg_stripe_charges without manual tagging.

dbt-aware graph

It merges your dbt manifest and exposures with warehouse activity, so model boundaries, sources, and downstream dashboards all appear in one connected map.

Source-to-dashboard tracing

Click any node and walk the full path, from raw orders ingestion through staging and marts to the executive revenue report.

Always current

The lineage refreshes as runs complete, so a new model or renamed table shows up in the map instead of drifting out of date.

// 4 STEPS

How it works

From connected to saving in four steps

01

Connect read-only

Grant Datatrail a read-only role on Snowflake, BigQuery, Redshift, or Postgres. It reads metadata and query history and never writes back.

02

Datatrail maps your flow

Query history and the dbt graph are parsed into a table and column level lineage map across every schema.

03

Trace any path

Select a table like fct_orders and follow edges upstream to sources or downstream to exposures and dashboards.

04

You act with confidence

Use the map to plan refactors, document pipelines, and onboard engineers without guessing how data connects.

How to make a data lineage diagram

There are three ways teams do this, and only one of them survives contact with a real warehouse.

By hand, in a drawing tool. Someone opens Lucidchart, draw.io, or Miro and starts drawing boxes. This is the most common starting point and it works for exactly as long as it takes someone to ship a new model. A hand-drawn diagram is accurate on the day it is drawn and misleading every day after. It is fine for a design discussion and dangerous as documentation, because the moment people trust it, it is wrong.

From the dbt DAG. If your transformations are all dbt models, dbt docs generate gives you a real dependency graph for free, and it stays current with your project. The limit is scope: the DAG knows about dbt models. It does not know about the Fivetran tables landing in your bronze schema, the scheduled query an analyst wrote two years ago, or the Looker dashboard on the other end. Those gaps are usually where incidents come from.

Parsed from query history. The warehouse already knows. Every INSERT, CREATE TABLE AS, and MERGE your platform has ever run is recorded in the query log, and the SQL of each one states exactly which columns fed which. Parse that and the diagram builds itself, covering everything that touched the warehouse whether or not anyone modeled it. This is how Datatrail works, and it is why the diagram is still right next month.

What a good lineage diagram actually shows

A box-and-arrow picture of your table names is not worth much. The diagrams that get used have four properties:

  • Direction and depth. You can walk upstream from a number to its raw source, and downstream from a source to every report it feeds, without losing your place.
  • Column resolution, not just tables. Knowing fct_orders depends on stg_stripe_charges tells you almost nothing when you are about to change one field. Knowing fct_orders.revenue is built from stg_stripe_charges.amount minus stg_refunds.amount is an answer. See column-level lineage for how that resolution is built.
  • The ends included. The diagram should start at the ingestion table and finish at the dashboard, because those are the two places humans notice breakage.
  • Readable by a non-engineer. A raw DAG dump with 400 nodes is technically lineage and practically useless. Filtering to the path that matters is most of the value.

From diagram to decision

The reason to have the picture is to act on it. Once the graph exists and resolves to the column, the interesting question stops being what does this look like and becomes what breaks if I change it.

That is impact analysis: pick the column you are about to alter or drop, and get the list of every downstream model, exposure, and dashboard that reads it, by name, before you merge. The same graph drives freshness monitoring and schema change alerts, which is what makes those alerts tell you what is at risk instead of just showing a red dot.

If you are still surveying the field, our comparison of data lineage tools covers eleven of them honestly, including the free and open-source options.

// FAQ

Questions people ask

Lineage diagram, answered

What is a data lineage diagram?

A data lineage diagram is a visual map of how data moves through your systems, drawn as nodes for tables or columns and edges for the dependencies between them. It shows where a piece of data originated, every transformation it passed through, and which reports or dashboards depend on it. Good ones resolve to the column, not just the table, and are generated from live metadata rather than drawn by hand.

How do you create a data lineage diagram?

Three ways. You can draw it manually in a tool like Lucidchart or draw.io, which is accurate the day you draw it and stale soon after. You can generate it from your dbt DAG with dbt docs, which stays current but only covers dbt models. Or you can parse warehouse query history, which reconstructs the graph from the SQL that actually ran and covers un-modeled tables and ad hoc queries too. Datatrail uses the third approach.

What is the difference between a data lineage diagram and a data flow diagram?

A data flow diagram is a design artifact: it describes how a system is intended to move data, usually drawn by an architect before or during a build. A data lineage diagram is an observed record: it shows how data has actually moved, reconstructed from what the warehouse ran. The first is a plan, the second is evidence, and they diverge the moment production drifts from the design.

Can dbt generate a data lineage diagram?

Yes. Running dbt docs generate and dbt docs serve produces a browsable DAG of your models, sources, and their dependencies, and it stays in sync with your project. Its boundary is the project itself: raw landing tables that were never modeled, queries running outside dbt, and the BI layer downstream do not appear unless you maintain exposures by hand. Datatrail reads your dbt graph and the warehouse query log together, so both sides show up.

Is there a free data lineage diagram tool?

For dbt projects, dbt docs is free and produces a real model-level DAG. Open-source options like OpenMetadata and Apache Atlas render lineage diagrams including column-level detail at no license cost, though you self-host the infrastructure to run them. Our comparison of data lineage tools covers what each one costs in practice, including the operational work the free ones move onto your team.

See it map your lineage

Connect your warehouse read-only and get a full lineage map in minutes. Datatrail never moves or mutates your data.