Condividi tramite


Che cosa sono i cataloghi in Azure Databricks?

Un catalogo è l'unità principale dell'organizzazione dei dati nel modello di governance dei dati di Azure Databricks Unity Catalog. Questo articolo offre una panoramica dei cataloghi nel catalogo unity e come usarli al meglio.

I cataloghi sono il primo livello nello spazio dei nomi a tre livelli di Unity Catalog (catalog.schema.table-etc). Contengono schemi, che a loro volta possono contenere tabelle, viste, volumi, modelli e funzioni. I cataloghi vengono registrati in un metastore di Unity Catalog nell'account Azure Databricks.

diagramma del modello a oggetti del catalogo Unity, incentrato sul catalogo

Come organizzare i dati in cataloghi?

Quando si progetta il modello di governance dei dati, è necessario prestare attenzione ai cataloghi creati. Come livello più elevato nel modello di governance dei dati dell'organizzazione, ogni catalogo deve rappresentare un'unità logica di isolamento dei dati e una categoria logica di accesso ai dati, consentendo a una gerarchia efficiente di concessioni di passare verso gli schemi e gli oggetti dati che contengono. I cataloghi quindi spesso rispecchiano le unità organizzative o gli ambiti del ciclo di vita dello sviluppo software. È possibile scegliere, ad esempio, di avere un catalogo per i dati di produzione e un catalogo per i dati di sviluppo oppure un catalogo per i dati non dei clienti e uno per i dati sensibili dei clienti.

Isolamento dei dati tramite cataloghi

Ogni catalogo ha in genere un proprio percorso di archiviazione gestito per archiviare tabelle e volumi gestiti, fornendo l'isolamento dei dati fisici a livello di catalogo. È anche possibile scegliere di archiviare i dati a livello di metastore, fornendo un percorso di archiviazione predefinito per i cataloghi che non dispongono di una posizione di archiviazione gestita propria. È possibile aggiungere spazio di archiviazione a livello di schema per un isolamento dei dati più granulare.

Poiché l'account Azure Databricks ha un metastore per area, i cataloghi sono intrinsecamente isolati in base all'area.

Per altre informazioni, vedere Che cosa sono gli oggetti di database in Azure Databricks? e i dati sono separati fisicamente nell'archiviazione.

Privilegi a livello di catalogo

Poiché le concessioni su qualsiasi oggetto del Catalogo Unity vengono ereditate dagli elementi figlio di tale oggetto, essere il proprietario di un catalogo o avere ampi privilegi su un catalogo è molto influente. Ad esempio, i proprietari del catalogo hanno tutti i privilegi per il catalogo e gli oggetti nel catalogo e possono concedere l'accesso a qualsiasi oggetto nel catalogo. Gli utenti con SELECT in un catalogo possono leggere qualsiasi tabella nel catalogo. Gli utenti con CREATE TABLE in un catalogo possono creare una tabella in qualsiasi schema del catalogo.

Per applicare il principio dei privilegi minimi, in cui gli utenti hanno l'accesso minimo necessario per eseguire le attività necessarie, in genere si concede l'accesso solo agli oggetti o al livello specifico nella gerarchia richiesta dall'utente. Tuttavia, i privilegi a livello di catalogo consentono al proprietario del catalogo di gestire i privilegi che i proprietari di oggetti di livello inferiore possono concedere. Anche se a un utente viene concesso l'accesso a un oggetto dati di basso livello, ad esempio una tabella, tale utente non può accedere a tale tabella a meno che non disponga anche del privilegio USE CATALOG nel catalogo che contiene la tabella.

Per altre informazioni, vedere gestire la proprietà degli oggetti del catalogo Unity, tipi generali di privilegi nel catalogo Unitye elementi essenziali della governance e dell'isolamento dei dati.

Tipi di catalogo

Quando si crea un catalogo, sono disponibili due opzioni:

  • catalogo Standard: il catalogo tipico, usato come unità primaria per organizzare gli oggetti dati in Unity Catalog. Questo è il tipo di catalogo descritto in questo articolo.
  • catalogo esterno: un oggetto del Unity Catalog usato solo negli scenari di Lakehouse Federation. Un catalogo esterno esegue il mirroring di un database in un sistema dati esterno, consentendo di eseguire query di sola lettura su tale sistema dati nell'area di lavoro di Azure Databricks. Vedere Che cos'è Lakehouse Federation?.

Oltre a questi due tipi di catalogo, Azure Databricks effettua automaticamente il provisioning dei cataloghi seguenti quando si crea una nuova area di lavoro:

  • hive_metastore catalogo: si tratta del repository di tutti i dati gestiti dal metastore Hive legacy nelle aree di lavoro di Azure Databricks. Quando un'area di lavoro esistente che non utilizza Unity Catalog viene convertita in Unity Catalog, tutti gli oggetti registrati nel metastore Hive legacy vengono visualizzati in Unity Catalog nel catalogo hive_metastore. Per informazioni sull'utilizzo del metastore Hive insieme a Unity Catalog, vedere Lavorare con Unity Catalog e il legacy Hive metastore. Il metastore Hive è deprecato e tutte le aree di lavoro di Azure Databricks devono eseguire la migrazione a Unity Catalog.
  • catalogo dello spazio di lavoro: in tutti i nuovi spazi di lavoro, questo catalogo viene creato automaticamente per impostazione. In genere, condivide il nome con quello dell'area di lavoro. Se questo catalogo esiste, tutti gli utenti dell'area di lavoro (e solo l'area di lavoro) hanno accesso ad esso per impostazione predefinita, in modo da consentire agli utenti di provare il processo di creazione e accesso agli oggetti dati in Unity Catalog. Consulta Passaggio 1: Verifica che l'area di lavoro sia abilitata per Unity Catalog.

Catalogo predefinito

Per ogni area di lavoro abilitata per Il catalogo Unity è configurato un catalogo predefinito. Il catalogo predefinito consente di eseguire operazioni sui dati senza specificare un catalogo. Se si omette il nome del catalogo di primo livello quando si eseguono operazioni sui dati, viene utilizzato il catalogo predefinito.

Se l'area di lavoro viene abilitata automaticamente per Unity Catalog, il catalogo delle aree di lavoro preconfigurato viene specificato come catalogo predefinito. Un amministratore dell'area di lavoro può modificare il catalogo predefinito in base alle esigenze.

Per informazioni dettagliate, vedere Gestire il catalogo predefinito.

Collegamento catalogo area di lavoro

Se si usano aree di lavoro per isolare l'accesso ai dati utente, è possibile usare associazioni del catalogo dell'area di lavoro. Le associazioni del catalogo dell'area di lavoro consentono di limitare l'accesso al catalogo in base ai limiti dell'area di lavoro. Ad esempio, è possibile assicurarsi che gli amministratori e gli utenti dell'area di lavoro possano accedere solo ai dati di produzione in prod_catalog da un ambiente dell'area di lavoro di produzione, prod_workspace. I cataloghi vengono condivisi con tutte le aree di lavoro collegate al metastore corrente, se non si specifica un'associazione. Vedere Organizzare i dati e limitare l'accesso al catalogo a aree di lavoro specifiche.

Se l'area di lavoro è stata abilitata automaticamente per Unity Catalog, il catalogo delle aree di lavoro con provisioning preliminare è associato all'area di lavoro per impostazione predefinita.

Ulteriori informazioni