Unity Catalog (UC) is the governance layer: one place that knows what data exists, who may touch it, and where it came from. If you learned Databricks in the Hive metastore era, this replaces that entirely — and the old way is now explicitly labelled legacy.
Account
└── Metastore ← one per region (see the hard constraint below)
└── Catalog ← the primary unit of data isolation
└── Schema (= database)
├── Table ← managed or external
├── View
├── Materialized view
├── Volume ← governed files, not tables
├── Function
└── Model
You address anything with three levels: catalog.schema.object. That's the "three-level namespace,"
and it's the most visible day-one difference from the old two-level database.table world.
SELECT * FROM prod_sales.finance.transactions;
A volume governs files rather than tables — the place for CSVs waiting to be ingested, PDFs, images, model artifacts, anything non-tabular. Volumes are the sanctioned replacement for the patterns you'll see in old tutorials: DBFS mounts and raw storage paths.
This matters because DBFS root and DBFS mounts are deprecated, and — the part people miss — "New accounts are provisioned without access to these features" (DBFS docs, updated 2026-02-23).
So a tutorial that opens with dbutils.fs.mount(...) isn't merely dated. On a workspace created
recently, it cannot work at all. Use volumes and external locations.
Memorize this sentence, because every multi-workspace and multi-region design decision follows from it:
"You can have only one metastore per region. All workspaces in that region share that metastore." — Unity Catalog best practices
Three consequences that turn up in architecture reviews constantly:
prod_sales, dev_sales), not with separate metastores.If you take one thing from this module into an architecture interview, take this.
Privileges inherit downward. Granting on a catalog reaches every schema and table inside it, now and in future.
GRANT USAGE ON CATALOG prod_sales TO `data-analysts`;
GRANT SELECT ON SCHEMA prod_sales.finance TO `data-analysts`;
Two traps worth internalizing:
USE CATALOG / USE SCHEMA are required to traverse. A user with SELECT on a table but no
USE on its parent catalog sees nothing. This is the number-one "but I granted them access!"
support ticket.The governance surface has grown considerably, and these are current as of 2026-07-30:
| Feature | Status | What it's for |
|---|---|---|
| ABAC policies | in the DE Associate exam guide | Attribute-based access control via governed tags — policy instead of per-table grants |
| Row filters / column masks | GA | Fine-grained control inside a table |
| Domains | Public Preview | Organizing data ownership at scale |
| RBAC | Public Preview (2026-07-22) | Role-based access control |
| External lineage | GA (2026-06-08) | Lineage that extends beyond Databricks |
ABAC is the one to actually study — it appears by name in the May 2026 Associate exam guide, which means it's testable now. Module E4 covers it properly; A5 covers governance at scale.
The per-workspace Hive metastore still exists but is officially "a legacy feature, and the instructions provided in this article represent legacy workflows" (docs, 2026-06-09).
New workspaces get a Unity Catalog workspace catalog by default. You'll still meet Hive metastore in
brownfield migrations, where it appears as the hive_metastore catalog in the three-level namespace.
Honest gap: Databricks has published no hard end-of-life date for the Hive metastore. It's "legacy" and "deprecated," but if someone tells you it dies on a specific date, ask them for the link — I could not find one.
orders in schema raw in catalog dev_retail.SELECT on a table but gets "table not found." What's the most likely cause?dbutils.fs.mount(...). What do you do?dev_retail.raw.ordersUSE CATALOG and/or USE SCHEMA on the parents. SELECT alone doesn't let you traverse
to the object.DROP. When that person leaves and their
identity is deprovisioned, the object is orphaned. Own with a group or service principal.SELECT grant without USE CATALOG and let them
hit the error themselves. Ten seconds of confusion teaches this better than ten minutes of
explanation.