Delen via


Wat zijn catalogi in Azure Databricks?

Een catalogus is de primaire eenheid van de gegevensorganisatie in het Azure Databricks Unity Catalog-gegevensbeheermodel. Dit artikel bevat een overzicht van catalogi in Unity Catalog en hoe u deze het beste kunt gebruiken.

Catalogi zijn de eerste laag in de naamruimte met drie niveaus van Unity Catalog (catalog.schema.table-etc). Ze bevatten schema's, die op hun beurt tabellen, weergaven, volumes, modellen en functies kunnen bevatten. Catalogi worden geregistreerd in een Unity Catalog-metastore in uw Azure Databricks-account.

Unity Catalog-objectmodeldiagram, gericht op catalogus

Hoe kan ik mijn gegevens in catalogi organiseren?

Wanneer u uw gegevensbeheermodel ontwerpt, moet u zorgvuldig nadenken over de catalogi die u maakt. Als het hoogste niveau in het gegevensbeheermodel van uw organisatie, moet elke catalogus een logische eenheid van gegevensisolatie en een logische categorie gegevenstoegang vertegenwoordigen, zodat een efficiënte hiërarchie van subsidies omlaag kan stromen naar schema's en de gegevensobjecten die ze bevatten. Catalogi weerspiegelen daarom vaak organisatie-eenheden of levenscyclusbereiken voor softwareontwikkeling. U kunt er bijvoorbeeld voor kiezen om een catalogus te hebben voor productiegegevens en een catalogus voor ontwikkelingsgegevens, of een catalogus voor niet-klantgegevens en een catalogus voor gevoelige klantgegevens.

Gegevensisolatie met behulp van catalogi

Elke catalogus heeft doorgaans een eigen beheerde opslaglocatie voor het opslaan van beheerde tabellen en volumes, waardoor fysieke gegevensisolatie op catalogusniveau wordt geboden. U kunt er ook voor kiezen om gegevens op metastore-niveau op te slaan en een standaardopslaglocatie te bieden voor catalogi die geen beheerde opslaglocatie hebben. U kunt opslag toevoegen op schemaniveau voor gedetailleerdere gegevensisolatie.

Omdat uw Azure Databricks-account één metastore per regio heeft, worden catalogi inherent geïsoleerd per regio.

Zie Wat zijn databaseobjecten in Azure Databricks? en Gegevens worden fysiek gescheiden in de opslag voor meer informatie.

Bevoegdheden op catalogusniveau

Omdat subsidies voor elk Unity Catalog-object worden overgenomen door onderliggende objecten van dat object, is het bezit van een catalogus of het hebben van brede bevoegdheden voor een catalogus zeer krachtig. Cataloguseigenaren hebben bijvoorbeeld alle bevoegdheden voor de catalogus en de objecten in de catalogus, en ze kunnen toegang verlenen tot elk object in de catalogus. Gebruikers met SELECT een catalogus kunnen elke tabel in de catalogus lezen. Gebruikers met CREATE TABLE een catalogus kunnen een tabel maken in elk schema in de catalogus.

Als u het principe van minimale bevoegdheden wilt afdwingen, waarbij gebruikers de minimale toegang hebben die ze nodig hebben om hun vereiste taken uit te voeren, verleent u doorgaans alleen toegang tot de specifieke objecten of het niveau in de hiërarchie die de gebruiker nodig heeft. Maar met bevoegdheden op catalogusniveau kan de cataloguseigenaar beheren wat objecteigenaren op een lager niveau kunnen verlenen. Zelfs als een gebruiker toegang krijgt tot een gegevensobject op laag niveau, zoals een tabel, heeft die gebruiker bijvoorbeeld geen toegang tot die tabel, tenzij deze ook de USE CATALOG bevoegdheid heeft voor de catalogus die de tabel bevat.

Zie Voor meer informatie het eigendom van Unity Catalog-objecten beheren, typen algemene unity-catalogusbevoegdheden en bouwstenen voor gegevensbeheer en gegevensisolatie.

Catalogustypen

Wanneer u een catalogus maakt, krijgt u twee opties:

  • Standaardcatalogus: de typische catalogus, die wordt gebruikt als primaire eenheid om uw gegevensobjecten in Unity Catalog te ordenen. Dit is het catalogustype dat in dit artikel wordt besproken.
  • Refererende catalogus: een Unity Catalog-object dat alleen wordt gebruikt in Lakehouse Federation-scenario's . Een refererende catalogus spiegelt een database in een extern gegevenssysteem, zodat u alleen-lezenquery's kunt uitvoeren op dat gegevenssysteem in uw Azure Databricks-werkruimte. Zie Wat is Lakehouse Federation?

Naast deze twee catalogustypen richt Azure Databricks de volgende catalogi automatisch in wanneer u een nieuwe werkruimte maakt:

  • hive_metastore catalogus: Dit is de opslagplaats van alle gegevens die worden beheerd door de verouderde Hive-metastore in Azure Databricks-werkruimten. Wanneer een bestaande niet-Unity Catalog-werkruimte wordt geconverteerd naar Unity Catalog, worden alle objecten die zijn geregistreerd in de verouderde Hive-metastore, weergegeven in Unity Catalog in de hive_metastore catalogus. Zie Werken met Unity Catalog en de verouderde Hive-metastore voor meer informatie over het werken met de Hive-metastore naast Unity Catalog. De Hive-metastore is afgeschaft en alle Azure Databricks-werkruimten moeten worden gemigreerd naar Unity Catalog.
  • Werkruimtecatalogus: In alle nieuwe werkruimten wordt deze catalogus standaard voor u gemaakt. Normaal gesproken wordt de naam ervan gedeeld met de naam van uw werkruimte. Als deze catalogus bestaat, hebben alle gebruikers in uw werkruimte (en alleen uw werkruimte) er standaard toegang toe. Dit maakt het een handige plek voor gebruikers om het proces voor het maken en openen van gegevensobjecten in Unity Catalog uit te proberen. Zie stap 1: Controleer of uw werkruimte is ingeschakeld voor Unity Catalog.

Standaardcatalogus

Er wordt een standaardcatalogus geconfigureerd voor elke werkruimte die is ingeschakeld voor Unity Catalog. Met de standaardcatalogus kunt u gegevensbewerkingen uitvoeren zonder een catalogus op te geven. Als u de naam van de catalogus op het hoogste niveau weglaat wanneer u gegevensbewerkingen uitvoert, wordt ervan uitgegaan dat de standaardcatalogus wordt gebruikt.

Als uw werkruimte automatisch is ingeschakeld voor Unity Catalog, wordt de vooraf ingerichte werkruimtecatalogus opgegeven als de standaardcatalogus. Een werkruimtebeheerder kan de standaardcatalogus indien nodig wijzigen.

Zie De standaardcatalogus beheren voor meer informatie.

Werkruimtecatalogusbinding

Als u werkruimten gebruikt om de toegang tot gebruikersgegevens te isoleren, kunt u bindingen voor werkruimtecatalogus gebruiken. Met bindingen voor werkruimtecatalogus kunt u catalogustoegang beperken op basis van werkruimtegrenzen. U kunt er bijvoorbeeld voor zorgen dat werkruimtebeheerders en gebruikers alleen toegang hebben tot productiegegevens vanuit prod_catalog een productiewerkruimteomgeving. prod_workspace Catalogi worden gedeeld met alle werkruimten die zijn gekoppeld aan de huidige metastore, tenzij u een binding opgeeft. Zie Uw gegevens organiseren en catalogustoegang tot specifieke werkruimten beperken.

Als uw werkruimte automatisch is ingeschakeld voor Unity Catalog, is de vooraf ingerichte werkruimtecatalogus standaard gebonden aan uw werkruimte.

Meer informatie