Les 1 van 7 · 40 min · Inclusief lab

Het objectmodel van Unity Catalog

In deze les ga je

  • De securable objects en de namespace catalog.schema.object benoemen
  • Kiezen tussen managed of extern voor tabellen en volumes
  • Een namespace ontwerpen met omgevingscatalogs en laagschema's
  • Een groep eigenaar maken van elk securable
Ga naar de kenniscontrole

Eén model voor elk beheerd asset

Governance mislukt als elk soort asset eigen regels heeft: één rechtensysteem voor tabellen, een ander voor bestanden, nog een ander voor modellen en een spreadsheet voor de rest. Unity Catalog vervangt dat door één objectmodel en één rechtenmodel. Begrijp je het model, dan is elke latere les in deze cursus een variatie erop.

In deze les lopen we langs de objecten, de namespace, het verschil tussen managed en extern en de objecten boven catalogs. Het inschakelen van Unity Catalog op een nieuw account behandelen we niet. Dat is een onderwerp van platforminrichting.

Securable objects

De Databricks-documentatie beschrijft elk beheerd asset als een securable object: een object waarop je rechten kunt geven aan gebruikers, service principals of groepen. Hetzelfde rechtenmodel geldt voor alle objecten.

De meeste objecten waarmee je werkt, staan in een namespace met drie niveaus: catalog.schema.object.

NiveauObjectBevatTypisch gebruik
1CatalogSchema'sDe bovenste container voor één domein en één omgeving, bijvoorbeeld prd_finance
2SchemaTabellen, views, volumes, functies, modellenEén laag of vakgebied, bijvoorbeeld gold of reference
3TabelRijen in Delta-formaatGestructureerde data
3ViewEen opgeslagen queryGecontroleerde vensters op tabellen
3VolumeBestanden en mappenLandingszones, documenten, modelartefacten
3FunctieHerbruikbare logica, ook gebruikt voor rijfilters en kolommaskersBeveiliging en gedeelde logica
3ModelEen geregistreerde set modelversiesModellen voor serving en agents

De documentatie noemt ook services (model- en MCP-services) onder de objecten op het derde niveau. Geregistreerde modellen zijn in het rechtensysteem een soort functie, daarom geef je EXECUTE ON FUNCTION om een groep een model te laten gebruiken.

Boven de catalogs, direct onder de metastore, staan objecten die in geen enkele catalog zitten: storage credentials, external locations, connections (voor Lakehouse Federation) en shares. Ze worden over catalogs gedeeld en verdienen dus strengere controle dan een tabel.

Managed en extern

Tabellen en volumes bestaan in twee soorten.

  • Managed: Unity Catalog regelt zowel de toegang als de levenscyclus van de bestanden. Verwijder je de tabel, dan gaat de data mee, volgens het bewaargedrag van het platform.
  • Extern: Unity Catalog regelt alleen de toegang. De bestanden staan op een locatie die je zelf beheert en bij het verwijderen van de tabel blijven de bestanden staan.

Onze standaard is managed objecten voor alles wat we maken. Gebruik externe objecten als een ander systeem dezelfde bestanden moet lezen of schrijven, of als een contract een opslaglocatie afdwingt. Externe objecten hebben een storage credential en een external location nodig, en beide zijn objecten op metastore-niveau die zorgvuldige rechten vragen.

Eigenaarschap

Elk securable heeft een eigenaar. Eigenaren hebben alle rechten op het object, inclusief het recht om ze te geven. De eigenaar is de krachtigste positie op een object, dus het mag nooit een persoon zijn.

  • Maak een groep eigenaar van elke catalog, elk schema, elke tabel en elk volume. Een persoon vertrekt, een groep blijft.
  • Gebruik MANAGE spaarzaam. Het recht MANAGE laat een houder rechten beheren, eigenaarschap overdragen, hernoemen en een object verwijderen zonder eigenaar te zijn. Het zit niet in ALL PRIVILEGES.
  • Draag bewust over. Eigenaarschap overdragen is één statement, wat het makkelijk maakt en het waard om achter review te zetten:
sql
ALTER TABLE prd_finance.gold.invoices OWNER TO `grp-uc-prd-finance-gold-owner`;

De namespace ontwerpen

Namen dragen betekenis en rechten hechten eraan, dus ontwerp de namespace voor de eerste tabel bestaat. Ons patroon:

  • Eén catalog per omgeving en domein, bijvoorbeeld dev_finance, test_finance, acc_finance, prd_finance. Het omgevingsvoorvoegsel voorkomt dat een omgeving aan de data van een andere komt.
  • Eén schema per laag of vakgebied, bijvoorbeeld bronze, silver, gold, reference, sandbox.
  • Namen in kleine letters met underscores, zonder spaties en zonder datums in namen.
  • Eén eigenaarsgroep per catalog en per schema.

Waarom niet één catalog voor alles? Omdat rechten naar beneden overerven. Een recht op een catalog geldt voor elk bestaand en toekomstig schema daarin. Een catalog die domeinen overspant, dwingt je op veel schema's één voor één rechten te geven en één fout stelt meerdere domeinen bloot.

Illustratie

sql
-- Maak de structuur voor één domein en omgeving. Draai via de pipeline, niet met de hand.
CREATE CATALOG IF NOT EXISTS dev_finance;
CREATE SCHEMA  IF NOT EXISTS dev_finance.bronze;
CREATE SCHEMA  IF NOT EXISTS dev_finance.silver;
CREATE SCHEMA  IF NOT EXISTS dev_finance.gold;

Ontdekcommando's die je gebruikt

Je kunt het model met gewone SQL inspecteren:

Illustratie

sql
SHOW CATALOGS;
SHOW SCHEMAS IN dev_finance;
SHOW TABLES  IN dev_finance.gold;
SHOW GRANTS  ON SCHEMA dev_finance.gold;       -- wie kan wat op dit schema
DESCRIBE EXTENDED dev_finance.gold.invoices;   -- eigenaar, type (managed of extern), locatie

SHOW GRANTS is het commando dat je het vaakst draait als iemand zegt: "ik zie de tabel niet". Het antwoord is bijna altijd een ontbrekende USE CATALOG of USE SCHEMA op het pad ernaartoe.

Tags en commentaar

Tabellen, kolommen en andere objecten accepteren commentaar en tags. Gebruik ze vanaf de eerste dag: commentaar dat het doel en de dataeigenaar noemt en tags die de data classificeren, zoals pii of confidential. In les 4 zie je hoe tags beleid voeden. Onze privacy-by-design-regel vraagt om data te classificeren voor we ze laden, en tags zijn waar die classificatie leeft.

Veelgemaakte fouten

  • Een persoon als eigenaar. Toegang breekt als hij vertrekt.
  • Eén catalog voor alle omgevingen. Een dev-job kan dan naar productiedata schrijven.
  • Externe tabellen uit gewoonte. De levenscyclus van de opslag, en het risico, blijven bij jou.
  • Geen commentaar en geen tags. De catalogus wordt een lijst namen die niemand kan duiden.
  • Rechten op de tabel geven als het schema het juiste niveau is. Les 3 legt het patroon uit.

Samenvatting

Elk beheerd asset is een securable object met een eigenaar en een plek in de namespace catalog.schema.object. Gebruik één catalog per omgeving en domein, één schema per laag, standaard managed objecten en groepen als eigenaar. Objecten op metastore-niveau zoals storage credentials en external locations vragen de strengste rechten.

Volgende les: identiteit, de vraag wie er vraagt.

Het idee in één schema

Het objectmodel

  1. MetastoreCredentials, locations, shares
  2. CatalogOmgeving en domein
  3. SchemaLaag of vakgebied
  4. Tabel, view, volume
  5. Functie, model

Kenniscontrole

Beantwoord elke vraag. Je ziet meteen de reden achter elk antwoord.

0 van 3 beantwoord

  1. Vraag 1 van 3Wie hoort eigenaar te zijn van een catalog, schema of tabel?
  2. Vraag 2 van 3Wat betekent een managed tabel?
  3. Vraag 3 van 3Welke objecten staan direct onder de metastore en niet in een catalog?

Praktisch lab

Doel. Verken het objectmodel met SQL en bekijk eigenaar en type van objecten.

Waar je het draait

Databricks Free Edition Draai dit lab in een gratis Databricks-workspace. Meld je aan met je eigen e-mailadres.

Haal Databricks Free Edition

Stappen

  1. Draai SHOW CATALOGS en SHOW SCHEMAS voor een catalog die je ziet. Noteer de namen.
  2. Maak een schema in een catalog waarin je mag schrijven en een kleine tabel erin.
  3. Draai DESCRIBE EXTENDED op de tabel. Zoek de eigenaar, het tabeltype en de opslaglocatie.
  4. Draai SHOW GRANTS op het schema en leg elke rij uit die je ziet.
  5. Teken je namespace voor één domein en vier omgevingen op papier.

Verwacht resultaat

Je kunt de eigenaar en het type van je tabel noemen en uitleggen wie welk privilege op het schema heeft, en je tekening toont vier omgevingscatalogs met laagschema's.

Verdiepen

Officiële documentatie en aanbevolen cursussen van de aanbieders.

Lees bij NexOps

Artikelen uit onze eigen projecten over hetzelfde onderwerp.

Bronnen

Laatst gecontroleerd 2026-11-11

We controleren elke bron aan de hand van de officiële documentatie. Producten veranderen, dus bevestig details daar voordat je bouwt.