Organizzazione delle risorse BigQuery

Come altri servizi Google Cloud, le risorse BigQuery sono organizzate in una gerarchia. Puoi utilizzare questa gerarchia per gestire aspetti dei carichi di lavoro BigQuery, come autorizzazioni, quote, prenotazioni di slot e fatturazione.

Gerarchia delle risorse

BigQuery eredita la gerarchia delle risorse Google Cloud e aggiunge un ulteriore meccanismo di raggruppamento chiamato set di dati, specifici per BigQuery. Questa sezione descrive gli elementi di questa gerarchia.

Set di dati

I set di dati sono contenitori logici utilizzati per organizzare e controllare l'accesso alle tue risorse BigQuery. I set di dati sono simili agli schemi in altri sistemi di database.

La maggior parte delle risorse BigQuery che crei, tra cui tabelle, viste, funzioni e procedure sono create all'interno di un set di dati. Le connessioni e i job sono eccezioni. sono associate ai progetti dei set di dati.

Un set di dati ha una località. Quando crei una tabella, i dati della tabella vengono archiviati nella posizione del set di dati. Prima di creare tabelle per i dati di produzione, pensa requisiti per le località. Non puoi la posizione di un set di dati dopo la sua creazione.

Progetti

Ogni set di dati è associato a un progetto. Per utilizzare Google Cloud, devi creare almeno un progetto. I progetti sono la base per creare, abilitare utilizzando tutti i servizi Google Cloud. Per ulteriori informazioni, consulta Gerarchia delle risorse. Un progetto può contenere più set di dati e set di dati con località diverse nello stesso progetto.

Quando esegui operazioni sui dati BigQuery, ad esempio eseguire una query o importare dati in una tabella, crei un job. Un job è sempre associato a un progetto, ma non deve essere eseguito nello stesso progetto che contiene i dati. Infatti, un job può fare riferimento a tabelle di set di dati di più progetti. Un job di query, caricamento o esportazione viene sempre eseguito nella stessa posizione delle tabelle a cui fa riferimento.

Ogni progetto ha un Account di fatturazione Cloud collegato a li annotino. I costi maturati per un progetto vengono fatturati a quell'account. Se utilizzi i prezzi on demand, le query vengono fatturate al progetto che le esegue. Se utilizzi prezzi basati sulla capacità, le tue prenotazioni di slot vengono addebitati al progetto di amministrazione utilizzato per acquistare gli slot. Lo spazio di archiviazione viene addebitato al progetto in cui si trova il set di dati.

Cartelle

Le cartelle sono un ulteriore meccanismo di raggruppamento sopra i progetti. Progetti e le cartelle all'interno di una cartella ereditano automaticamente i criteri di accesso cartella principale. Le cartelle possono essere utilizzate per modellare diverse persone giuridiche, reparti e team all'interno di un'azienda.

Organizzazioni

La risorsa organizzazione rappresenta un'organizzazione (ad esempio un'azienda) ed è il nodo radice della gerarchia delle risorse Google Cloud.

Non hai bisogno di una risorsa organizzazione per iniziare a utilizzare BigQuery, ma consigliamo di crearne uno. L'utilizzo di una risorsa dell'organizzazione consente agli amministratori di controllare centralmente le risorse BigQuery, anziché ai singoli utenti di controllare le risorse che creano.

Il seguente diagramma mostra un esempio della gerarchia delle risorse. In questo esempio, l'organizzazione ha un progetto all'interno di una cartella. Il progetto è associato a un account di fatturazione e contiene tre set di dati.

Gerarchia delle risorse

Considerazioni

Quando scegli come organizzare le risorse BigQuery, prendi in considerazione i seguenti punti:

  • Quote. Molte quote di BigQuery vengono applicate a livello di progetto. Alcuni si applicano a livello di set di dati. Le quote a livello di progetto che coinvolgono risorse di calcolo, come query e job di caricamento, vengono conteggiate in base al progetto che crea il job, anziché al progetto di archiviazione.
  • Fatturazione. Se vuoi che vari reparti dell'organizzazione utilizzino diversi account di fatturazione Cloud, quindi crei progetti diversi ogni team. Crea gli account di fatturazione Cloud a livello di organizzazione e associavi i progetti.
  • Prenotazioni di slot. Gli slot riservati hanno come ambito la risorsa Organization. Dopo aver acquistato capacità slot prenotata, puoi Assegnare un pool di slot a qualsiasi progetto o cartella all'interno dell'organizzazione oppure e assegnare slot all'intera risorsa organizzazione. I progetti ereditano le prenotazioni degli slot dalla cartella o dall'organizzazione principale. Gli slot riservati sono associati a un progetto di amministrazione, che viene utilizzato per gestirli. Per ulteriori informazioni, vedi Gestione dei carichi di lavoro tramite le prenotazioni
  • Autorizzazioni. Valuta in che modo la tua gerarchia delle autorizzazioni influisce sugli utenti dell'organizzazione che devono accedere ai dati. Ad esempio, se vuoi concedere a un intero team l'accesso a dati specifici, potresti archiviarli in un in un unico progetto per semplificare la gestione degli accessi.

    Le tabelle e altre entità ereditano le autorizzazioni del set di dati di primo livello. I set di dati ereditano le autorizzazioni dalle entità padre nel della gerarchia delle risorse (progetti, cartelle, organizzazioni). Per eseguire un'operazione su una risorsa, un utente deve disporre sia delle autorizzazioni pertinenti per la risorsa sia dell'autorizzazione per creare un job BigQuery. L'autorizzazione a creare un job è associato al progetto utilizzato per quel job.

Pattern

Questa sezione presenta due pattern comuni per organizzare le risorse BigQuery.

  • Data lake centrale, data mart di reparto. L'organizzazione crea un progetto di archiviazione unificato per contenere i dati non elaborati. I reparti all'interno dell'organizzazione creano i propri progetti di data mart per l'analisi.

  • Data lake dei reparti, data warehouse centrale. Ogni reparto crea e gestisce il proprio progetto di archiviazione per conservare i dati non elaborati di quel reparto. L'organizzazione crea quindi un progetto di data warehouse centrale per l'analisi.

Entrambi gli approcci hanno pro e contro. Molte organizzazioni combinano elementi di entrambi gli schemi.

Data lake centrale, data mart di reparto

In questo pattern, crei un progetto di archiviazione unificato per contenere i dati non elaborati della tua organizzazione. La pipeline di importazione dati può essere eseguita anche progetto. Il progetto di archiviazione unificato funge da data lake per la tua organizzazione.

Ogni reparto ha un proprio progetto dedicato, che utilizza per eseguire query sui dati, salvare i risultati delle query e creare visualizzazioni. Questi progetti a livello di dipartimento data mart. Sono associati all'account di fatturazione del reparto.

Pattern del data lake centrale

I vantaggi di questa struttura includono:

  • Un team di data engineering centralizzato può gestire la pipeline di importazione in un unico posto.
  • I dati non elaborati sono isolati dai progetti a livello di reparto.
  • Con i prezzi on demand, la fatturazione delle query in esecuzione viene addebitata al dipartimento che esegue la query.
  • Con i prezzi basati sulla capacità, puoi assegnare gli slot a ciascun reparto in base ai suoi requisiti di calcolo previsti.
  • Ogni reparto è isolato dagli altri in termini di quote a livello di progetto.

Quando si utilizza questa struttura, le seguenti autorizzazioni sono tipiche:

  • Al team centrale di data engineering vengono assegnati l'Editor dati e l'Utente job BigQuery ruoli per il progetto di archiviazione. In questo modo possono importare e modificare i dati nel progetto di archiviazione.
  • Agli analisti dei dipartimenti viene concesso il ruolo Visualizzatore dati BigQuery per set di dati specifici nel progetto di data lake centrale. In questo modo possono eseguire query sui dati, ma non aggiornarli o eliminarli.
  • Agli analisti di reparto vengono concessi anche i ruoli Editor dati BigQuery e Utente job per il progetto del data mart del loro reparto. In questo modo, possono creare e aggiornare le tabelle nel progetto ed eseguire job di query per trasformare e aggregare i dati per l'utilizzo specifico del reparto.

Per ulteriori informazioni, consulta Ruoli e autorizzazioni di base.

Data lake di reparto, data warehouse centrale

In questo pattern, ogni reparto crea e gestisce il proprio progetto di archiviazione, che contiene i dati non elaborati di quel reparto. Un progetto di data warehouse centrale immagazzina aggregazioni o trasformazioni dei dati non elaborati.

Gli analisti possono eseguire query e leggere i dati aggregati del progetto data warehouse. Il progetto data warehouse fornisce anche un livello di accesso per gli strumenti di business intelligence (BI).

Modello di data lake dei dipartimenti

I vantaggi di questa struttura includono:

  • È più semplice gestire l'accesso ai dati a livello di reparto utilizzando progetti distinti per ogni reparto.
  • Un team centrale di analisi ha un unico progetto per l'esecuzione dei job di analisi, che semplifica il monitoraggio delle query.
  • Gli utenti possono accedere ai dati da uno strumento BI centralizzato, che viene mantenuto isolato dai dati non elaborati.
  • È possibile assegnare slot al progetto di data warehouse per gestire tutte le query da analisti e strumenti esterni.

Quando si utilizza questa struttura, le seguenti autorizzazioni sono tipiche:

  • Ai data engineer vengono assegnati i ruoli Editor dati BigQuery e Utente job BigQuery nel data mart del loro reparto. Questi ruoli consentono loro di importare e trasformare i dati nel data mart.
  • Gli analisti hanno a disposizione l'editor dati BigQuery Ruoli utente del job BigQuery nel progetto di data warehouse. Questi consentono loro di creare viste aggregate nel data warehouse ed eseguire nei job di query.
  • Gli account di servizio che connettono BigQuery agli strumenti BI vengono concessi il ruolo Visualizzatore dati BigQuery per set di dati specifici, che possono contengono dati non elaborati provenienti dal data lake o dati trasformati all'interno dei dati nel tuo progetto di warehouse.

Per ulteriori informazioni, consulta Ruoli e autorizzazioni di base.

Puoi usare anche funzionalità di sicurezza come viste autorizzate e funzioni definite dall'utente autorizzate per rendere disponibili i dati aggregati a determinati utenti senza concederli per visualizzare i dati non elaborati nei progetti Data Mart.

Questa struttura del progetto può comportare molte query simultanee nel progetto del data warehouse. Di conseguenza, potresti raggiungere il limite di query simultanee. Se decidi di adottare questa struttura, ti consigliamo di aumentare il limite di quota per il progetto. Guarda anche usando la fatturazione basata sulla capacità, in modo da poter acquistare un pool di slot per l'esecuzione query.