Questa pagina descrive l'architettura tecnica di BigLake, fornisce dettagli su come vengono gestite le query e su come BigLake Metastore supporta l'interoperabilità tra i motori.
Architettura
Una data lakehouse creata con BigLake è composta dai seguenti componenti:
- Spazio di archiviazione: Cloud Storage e lo spazio di archiviazione BigQuery fungono da livello di archiviazione, con Apache Iceberg come formato di tabella aperta consigliato per Cloud Storage.
- Metastore: BigLake Metastore fornisce un'unica fonte di verità per la gestione dei metadati su più motori.
- Motore di query: BigQuery, Apache Spark, Apache Flink, Trino e altri motori open source sono compatibili con BigLake.
- Governance: Knowledge Catalog fornisce policy di sicurezza e governance centralizzate.
- Strumenti di scrittura e analisi dei dati: i motori e gli strumenti integrati con BigLake forniscono più percorsi per l'importazione e l'analisi dei dati.
Gerarchia delle risorse
BigLake organizza i dati utilizzando la gerarchia standard di Apache Iceberg. Questa struttura mappa i concetti di database logico ai percorsi di archiviazione fisica.
- Servizio Metastore: la risorsa di regione di primo livello in Google Cloud.
- Catalogo: un container per raggruppare i database, che corrispondono ai progetti.
- Spazio dei nomi: un raggruppamento logico di tabelle. In BigQuery, questa mappatura corrisponde a un set di dati.
- Tabella: l'entità specifica che punta ai dati in Cloud Storage.
I metadati della tabella contengono informazioni come lo schema della tabella, le informazioni di partizionamento, le proprietà personalizzate e un puntatore allo stato attuale della tabella tramite un file
metadata.json.
Sequenza di elaborazione delle query
Quando invii una query a una tabella BigLake, la richiesta segue un percorso specifico per applicare le policy prima che i dati vengano letti.
- Richiesta: invii una query SQL a un motore (ad esempio Spark).
- Ricerca dei metadati: il motore invia una richiesta a BigLake Metastore per risolvere la tabella.
- Autenticazione e policy: il metastore ti autentica e controlla le autorizzazioni.
- Risposta: il metastore restituisce i metadati e, facoltativamente, un token di archiviazione al motore. I token di archiviazione vengono utilizzati solo quando è abilitata la distribuzione delle credenziali.
- Lettura: il motore utilizza il token per leggere i file direttamente dallo spazio di archiviazione.
- Calcolo: il motore elabora i dati e restituisce i risultati.
BigLake Metastore
BigLake Metastore è un metastore completamente gestito e serverless per la tua lakehouse su Google Cloud. Fornisce un'unica fonte di verità per i metadati provenienti da più origini ed è accessibile da BigQuery e da vari motori di elaborazione dei dati aperti, il che elimina la necessità di sincronizzare i metadati tra repository diversi.
BigLake Metastore è supportato da Knowledge Catalog, che fornisce controlli di accesso unificati e granulari su tutti i motori supportati e supporta la governance end-to-end con derivazione, qualità dei dati e rilevabilità.
Tipi di tabella
Quando crei una lakehouse su BigLake, hai diverse opzioni per il formato e la gestione delle tabelle:
Consigliato
- Tabelle BigLake Iceberg: tabelle Iceberg create da motori open source e archiviate in Cloud Storage.
Altri tipi di tabella
- Tabelle BigLake Iceberg in BigQuery: tabelle Iceberg create da BigQuery. I metadati di queste tabelle vengono archiviati nel catalogo BigQuery e sono accessibili solo tramite la federazione del catalogo BigQuery, mentre i dati delle tabelle e i metadati fisici vengono archiviati in Cloud Storage.
- Tabelle BigQuery standard: tabelle completamente gestite da BigQuery che possono essere collegate a BigLake Metastore.
- Tabelle esterne: tabelle esterne a BigLake Metastore in cui i dati e i metadati sono autogestiti.
Per un confronto dettagliato di queste opzioni, consulta la panoramica delle tabelle.
Passaggi successivi
- Inizia a utilizzare BigLake Metastore con Spark e BigQuery e il catalogo REST Iceberg.