Datatrail

Alternative

Unity Catalog Alternative: Databricks Unity Catalog Lineage Limits and Pricing

Unity Catalog is the governance layer built into Databricks: a three level namespace, access control, audit logs, classification, data quality monitoring and automatic lineage across tables, columns, notebooks, jobs, dashboards and models. If your data lives in Databricks you should be using it, and there is no separate license to buy. The costs and gaps that decide whether it is enough are narrower than most comparison pages suggest. Databricks retired the Standard tier for new AWS and Google Cloud customers and moved existing Standard workspaces to Premium on 1 October 2025. Lineage is not preserved when you rename a table or a column. The lineage system tables keep a rolling one year. And nothing follows a column past the edge of the workspace. Datatrail connects read only, keeps the history you control, and follows the same columns out into dbt, the orchestrator and the BI layer.

// COMPARE

Side by side

Datatrail vs Databricks Unity Catalog

Capability Datatrail Databricks Unity Catalog
Column-level lineage inside the lakehouse
Lineage into dbt, Airflow and BI dashboards External push API
Lineage history retained beyond one year One year in system tables
Works without upgrading your platform tier Premium or above
Impact analysis before you ship a change
Covers warehouses other than Databricks
Priced per seat, not per DBU consumed DBU meter
Read-only, never moves your data

Comparison reflects general product positioning and is provided in good faith. Verify current capabilities with each vendor.

// TRAIL CONSOLE

See it live

Lineage and impact, self-serve

Lineage map
Lineage mapped from query history. Read-only connection.
0

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

What Unity Catalog actually is, and why a Databricks team should use it

Unity Catalog is not an add-on you evaluate against other catalogs the way you would evaluate Collibra against Alation. It is the governance substrate of the platform. Databricks documentation puts it plainly: when enabled for a workspace, Unity Catalog "operates beneath every data and AI interaction in your workspaces automatically", enforcing access control when you query a table or call a model, tracking lineage as assets are used, and logging activity for auditing.

It has been on by default for a long time. Any Databricks workspace created after 8 November 2023 on AWS, or 9 November 2023 on Azure, has Unity Catalog enabled automatically. Everything is modeled as a securable object in a three level namespace of catalog, schema and object, and that covers tables, views, volumes, functions, models and services.

So the honest starting position is the same one we take on Snowflake Horizon Catalog: a single-platform team should turn the native thing on first. You are already paying for it, and no third party is going to enforce a row filter better than the engine that owns the data. The evaluation question is not "Unity Catalog or a vendor". It is whether your data actually stays inside Databricks, and whether you can live with the documented gaps below.

What Unity Catalog costs: the platform tier uplift nobody prices

Search for Unity Catalog pricing and you will find a dozen pages telling you it is free. That is true of the SKU and misleading about the bill, for two reasons.

First, the tier. Databricks governance capabilities sit in the Premium tier and above, and the tier is not free. Databricks has since discontinued the Standard tier entirely for new customers on AWS and Google Cloud, and its own pricing FAQ states that any existing customer remaining on Standard on AWS and Google Cloud "will be automatically upgraded to the premium tier on Oct 1, 2025". On Azure, where both tiers are still sold and where Microsoft publishes list prices through a public API, you can see exactly what that upgrade is worth.

Workload (East US, On Demand)StandardPremiumUplift
Jobs Compute (and Jobs Compute Photon)$0.15 / DBU-hour$0.30 / DBU-hour+100%
Jobs Light Compute$0.07 / DBU-hour$0.22 / DBU-hour+214%
All-purpose Compute (and Photon)$0.40 / DBU-hour$0.55 / DBU-hour+38%
SQL Analytics$0.22 / DBU-hour$0.22 / DBU-hourNo change
Serverless SQLNot offered$0.70 / DBU-hourPremium only
Enhanced Security and Compliance add-onNot offered$0.10 / DBU-hourPremium only

Azure Databricks list prices for East US, Consumption, pulled from the public Azure retail price API on 23 August 2026. Databricks publishes the equivalent AWS and Google Cloud rates on its own pricing pages. Committed-use discounts change the rate; they do not change the ratio between tiers. Check your own contract before budgeting.

The number worth sitting with is the first row. A batch estate that runs mostly on Jobs Compute pays exactly twice as much per DBU on Premium as on Standard at list. That is the real price of the governance layer, and it is invisible if you only read the sentence that says Unity Catalog has no separate charge.

Second, the monitoring meter. Data quality monitoring in Unity Catalog is serverless and billed in DBUs, not bundled. Databricks documents that for results created from February 2026 the usage shows up in system.billing.usage under a billing_origin_product of DATA_QUALITY_MONITORING, split between anomaly detection enabled at schema level and data profiling enabled at table level. The documentation tells you how to query what you already spent. It does not give you a way to forecast it or cap it, so the practical control is how many tables you profile and how often. If you are weighing that meter against a fixed-price product, our data quality tools comparison covers what the standalone vendors charge.

Where Unity Catalog lineage stops, according to the Databricks documentation

Unity Catalog lineage is genuinely good and better than most people assume. It is automatic, it is column level, it spans notebooks, jobs, dashboards, SQL queries, Lakeflow pipelines and models, and you do not configure anything to get it. The limits are all documented rather than hidden, and they are the reason teams end up buying something alongside it.

Renaming breaks the chain. This is the one that catches people, and it appears in a plain list in the Databricks lineage documentation: lineage is not preserved after renaming catalogs, schemas, tables, views, or columns. A refactor that renames a column is exactly the moment you most want lineage, and it is the moment the graph forgets. If you are documenting a migration for an auditor, that matters.

Some workloads never emit a job link. Jobs submitted through the Jobs API runs submit request or the spark submit task type still produce table and column lineage, but they lose the link back to the job run that caused it. You can see that the data moved and not what moved it.

Column lineage has two blind spots. Databricks documents that column lineage cannot be captured when the source or the target is referenced as a path rather than by table name, and when a user defined function obscures the mapping from source columns to target columns. Both are common in real Spark code. The lineage system tables carry a further caveat worth quoting: both tables "represent a subset of all read/write events, as it is not always possible to capture lineage", and records are only emitted when lineage can be inferred.

Several object types are excluded outright: Resilient Distributed Datasets, global temporary views, tables under system.information_schema, and Spark SQL dataset checkpointing operations. Lakeflow pipelines that use PRIVATE tables get incomplete coverage.

Runtime floors apply. Lineage tracking of streaming between Delta tables requires Databricks Runtime 11.3 LTS or above, and column lineage for Lakeflow pipeline workloads requires 13.3 LTS or above. If part of your estate is on older runtimes, part of your lineage is simply missing.

One documented behavior runs the other way and is worth knowing because it surprises people during incident review: lineage events persist even if the transaction is rolled back. A failed write can still leave an edge in the graph. That is arguably correct, since something did read and attempt to write, but it means the lineage graph is a record of attempted access rather than a record of committed state. If you are using lineage as evidence, say which of those two you mean. Our column-level lineage and impact analysis pages cover how we handle the same problem.

The two retention windows, and which one an auditor cares about

Databricks keeps lineage in two places with two different retention rules, and comparison pages routinely quote one and imply the other.

  • The lineage system tables (system.access.table_lineage and system.access.column_lineage) "retain a rolling 1-year window of data. Events older than one year are removed on a rolling basis." This is the queryable, joinable, scriptable copy, and it is the one you would build a report or a control on.
  • Catalog Explorer and the lineage REST API preserve lineage indefinitely, from 1 September 2024 onward. Nothing before that date exists at all.

So the accurate statement is not "Databricks keeps one year of lineage". It is that the copy you can query in SQL keeps one year, the copy you can browse in the UI goes back to September 2024, and there is a hard floor before which no lineage exists regardless of interface. If your control requires evidence of how a regulatory number was derived three years ago, neither window reaches it, and the answer is to capture and store lineage snapshots yourself. That is the same conclusion we reached about the one-year window in Snowflake Horizon Catalog, and it is not a coincidence: warehouse-native lineage is built for operations, not for archives.

There is a second wrinkle for the REST API. It answers with immediate upstream and downstream neighbors, one hop at a time. Walking a full multi-hop chain means calling it repeatedly and stitching the graph yourself, which is fine for a script and awkward for a control that has to run every quarter.

The Unity Catalog quotas worth checking before a rollout

Unity Catalog enforces resource quotas on securable objects. Most are generous, a few are fixed and cannot be raised, and two of them shape whether you can push lineage from outside Databricks into it at all.

QuotaLimitAdjustable
Tables per metastore1,000,000Fixed
Tables per schema10,000Adjustable
Schemas per metastore10,000Adjustable
Catalogs per metastore1,000Adjustable
Columns per table32,768Fixed
External lineage relationships per metastore100,000Fixed
External metadata objects per metastore10,000Fixed
External locations per metastore10,000Adjustable
Storage and service credentials combined1,000Adjustable

Quotas from the Databricks resource limits documentation, checked 23 August 2026. "Fixed" means Databricks documents the limit as not adjustable.

The last two rows are the interesting ones. Databricks supports pushing lineage for systems it does not run, and caps it at 100,000 external lineage relationships and 10,000 external metadata objects per metastore, both fixed. For a warehouse-shaped estate that is plenty. For a company trying to represent an entire stack of BI dashboards, reverse ETL destinations and operational services inside Unity Catalog, 10,000 external objects is a real ceiling, and it arrives sooner than the million-table number suggests. Databricks itself notes that pushed lineage does not match native lineage for depth or automation, and that editing lineage metadata and syncing it back to external systems are not supported.

When Unity Catalog is enough, and when it is not

Use Unity Catalog and stop there if your analytics estate is genuinely Databricks-shaped: sources land in the lakehouse, transformation happens in Lakeflow or notebooks, consumption happens in Databricks SQL or a dashboard Databricks can see, your runtimes are current, and your retention requirement is operational rather than archival. In that case a third party tool adds a bill and a login and very little signal.

Look at something alongside it when any of these are true. Your lineage has to cross into dbt Cloud, Airflow, Fivetran, Looker, Tableau or Power BI and you want it captured rather than pushed. You need lineage evidence that outlives a rolling year in SQL or predates September 2024. You rename objects during refactors and cannot afford the graph to forget. You want impact analysis on a pull request, before the change ships, rather than an incident review afterward. Or you run more than one warehouse, which is common enough that our data lineage tools comparison exists mostly to answer it. If Microsoft Purview is also on your shortlist, we compare the two catalogs meter by meter in Unity Catalog vs Purview.

Datatrail connects to Databricks read-only, parses query history and dbt artifacts to build column-level lineage, keeps the history on your retention terms rather than a rolling window, and follows the same columns into the orchestrator and the BI layer. It does not replace Unity Catalog, and we would not suggest turning access control or masking over to a third party. It sits next to it and covers the part of the graph that stops at the workspace boundary. For a broader look at what else is in this category, see our data observability tools roundup.

// FAQ

Questions people ask

Databricks Unity Catalog and Datatrail, answered

Is Unity Catalog free?

There is no separate license or SKU for Unity Catalog, so it is included with Databricks. The cost arrives through the platform tier instead. Governance capabilities sit in Premium and above, and on Azure East US list pricing Premium Jobs Compute runs $0.30 per DBU-hour against $0.15 on Standard, exactly double. Databricks also discontinued the Standard tier for new AWS and Google Cloud customers and moved existing Standard workspaces to Premium on 1 October 2025.

How long does Databricks keep data lineage?

Two different windows. The lineage system tables, system.access.table_lineage and system.access.column_lineage, retain a rolling one-year window and drop older events continuously. Catalog Explorer and the lineage REST API preserve lineage indefinitely, but only from 1 September 2024 onward. Nothing before that date exists in any interface, so neither path can answer a question about how a number was derived three years ago.

Does Unity Catalog support column-level lineage?

Yes, automatically and with no configuration, across notebooks, jobs, dashboards, SQL queries, Lakeflow pipelines and models. Two documented blind spots matter in practice: column lineage is not captured when the source or target is referenced as a path rather than by table name, or when a user defined function obscures the mapping between source and target columns. Column lineage for Lakeflow pipeline workloads also requires Databricks Runtime 13.3 LTS or above.

What are the limitations of Unity Catalog lineage?

The main documented ones: lineage is not preserved after renaming catalogs, schemas, tables, views or columns; jobs using the Jobs API runs submit request or the spark submit task type lose the link to the job run; RDDs, global temporary views and tables under system.information_schema are excluded; streaming lineage needs Databricks Runtime 11.3 LTS or above; and the lineage tables represent a subset of read and write events because lineage cannot always be inferred.

Do I still need a data lineage tool if I use Unity Catalog?

Not if your estate stays inside Databricks, your runtimes are current and your retention need is operational. You need something alongside it when lineage has to cross into dbt, Airflow, Fivetran or a BI tool, when evidence has to outlive the rolling one-year system table window, when renames break the graph during refactors, or when you want impact analysis before a change ships rather than after an incident.

How much does Databricks data quality monitoring cost?

It is serverless and billed in DBUs rather than bundled into the platform. For results created from February 2026 the spend appears in system.billing.usage with a billing_origin_product of DATA_QUALITY_MONITORING, split between anomaly detection enabled at schema level and data profiling enabled at table level. Databricks documents how to query what you already spent but publishes no forecasting or cap mechanism, so your only real controls are how many tables you profile and how often.

Is Unity Catalog open source?

There is an open source implementation of Unity Catalog, announced by Databricks and developed in a public GitHub repository, and it is a genuinely different thing from the managed Unity Catalog inside a Databricks workspace. The open source project provides the catalog and the open APIs. The lineage capture, data quality monitoring, classification and audit logging described on this page are features of the managed service in the platform, not of the standalone open source server.

See it on your own warehouse

Connect read-only, transparent pricing, see your lineage in minutes. Datatrail never moves or mutates your data. Decide for yourself.