Unity Catalog Architecture: Metastore, Catalog, Schema, Table
Who this is for:
Architecture / Concept Overview: Unity Catalog Architecture: Metastore, Catalog, Schema, Table
The four-level hierarchy provides a structured namespace that scales from small teams to enterprise-wide data platforms.
%%{init: {"theme":"base","themeVariables":{"background":"#0B0E14","primaryTextColor":"#E0E6ED","lineColor":"#5D6470","darkMode":true,"primaryColor":"#2E4A4A","secondaryColor":"#374151","secondaryTextColor":"#E0E6ED","tertiaryColor":"#111827","tertiaryTextColor":"#E0E6ED","edgeLabelBackground":"#1f2937"}}}%%
graph TD
classDef source fill:#3F4B59,stroke:#9CA3AF,stroke-width:2px,rx:8,ry:8,color:#E0E6ED
classDef ingestion fill:#5A4B36,stroke:#C9A86B,stroke-width:2px,rx:8,ry:8,color:#E0E6ED
classDef processing fill:#535072,stroke:#8E82B4,stroke-width:2px,rx:8,ry:8,color:#E0E6ED
classDef storage fill:#2E4A4A,stroke:#5FAFA8,stroke-width:2px,rx:8,ry:8,color:#E0E6ED
classDef serving fill:#3D5550,stroke:#6BB7AA,stroke-width:2px,rx:8,ry:8,color:#E0E6ED
classDef governance fill:#5A3F52,stroke:#C28BB0,stroke-width:2px,rx:8,ry:8,color:#E0E6ED
META[Metastore<br/>One per cloud region] --> CAT1[Catalog: prod]
META --> CAT2[Catalog: dev]
META --> CAT3[Catalog: shared]
CAT1 --> SCH1[Schema: finance]
CAT1 --> SCH2[Schema: marketing]
SCH1 --> TBL1[Table: transactions]
SCH1 --> TBL2[Table: budgets]
SCH1 --> VIEW1[View: monthly_summary]
SCH2 --> TBL3[Table: campaigns]
META:::governance
CAT1:::processing
CAT2:::processing
CAT3:::processing
SCH1:::storage
SCH2:::storage
TBL1:::serving
TBL2:::serving
VIEW1:::serving
TBL3:::serving
*Figure 1 — Unity Catalog's four-level hierarchy: metastore → catalog → schema → objects (tables, views, volumes, models).*
Permissions inherit downward through the hierarchy, simplifying administration.
%%{init: {"theme":"base","themeVariables":{"background":"#0B0E14","primaryTextColor":"#E0E6ED","lineColor":"#5D6470","darkMode":true,"primaryColor":"#2E4A4A","secondaryColor":"#374151","secondaryTextColor":"#E0E6ED","tertiaryColor":"#111827","tertiaryTextColor":"#E0E6ED","edgeLabelBackground":"#1f2937"}}}%%
flowchart LR
classDef source fill:#3F4B59,stroke:#9CA3AF,stroke-width:2px,rx:8,ry:8,color:#E0E6ED
classDef ingestion fill:#5A4B36,stroke:#C9A86B,stroke-width:2px,rx:8,ry:8,color:#E0E6ED
classDef processing fill:#535072,stroke:#8E82B4,stroke-width:2px,rx:8,ry:8,color:#E0E6ED
classDef storage fill:#2E4A4A,stroke:#5FAFA8,stroke-width:2px,rx:8,ry:8,color:#E0E6ED
classDef serving fill:#3D5550,stroke:#6BB7AA,stroke-width:2px,rx:8,ry:8,color:#E0E6ED
classDef governance fill:#5A3F52,stroke:#C28BB0,stroke-width:2px,rx:8,ry:8,color:#E0E6ED
A[GRANT USE CATALOG<br/>on prod] -->|Inherited by| B[All schemas in prod]
B -->|Inherited by| C[All tables in prod.finance]
D[GRANT SELECT<br/>on prod.finance] -->|Inherited by| E[All tables in prod.finance]
A:::governance
B:::processing
C:::serving
D:::governance
E:::serving
*Figure 2 — Permission inheritance flows from catalog to schema to object, reducing the number of explicit grants needed.*
Key Terms
Prerequisites and Setup
- Account admin role for metastore operations
- At least one workspace assigned to the metastore
- Cloud storage configured for managed storage
- Understanding of your organisation's data domains and environments
Step-by-Step Implementation
Configuration Reference
| Level | Object Types | Key Privileges |
|---|---|---|
| Metastore | Catalogs, storage credentials, external locations | CREATE CATALOG, CREATE STORAGE CREDENTIAL |
| Catalog | Schemas | USE CATALOG, CREATE SCHEMA |
| Schema | Tables, views, volumes, functions, models | USE SCHEMA, CREATE TABLE, SELECT |
| Object | N/A (leaf level) | SELECT, MODIFY, ALL PRIVILEGES |