Concetti fondamentali

Questo documento definisce i termini e i concetti chiave per Lakehouse for Apache Iceberg.

Questa pagina non è un elenco esaustivo di funzionalità, ma un riferimento generale di termini e concetti utilizzati nella documentazione di Lakehouse di Google Cloud.

Concetti principali

I seguenti concetti costituiscono la base dell'architettura Lakehouse di Google Cloud.

Data lakehouse

Una data lakehouse combina i risparmi sui costi e la flessibilità di un data lake con la gestione dei dati e le prestazioni di un data warehouse. Consente di archiviare i dati in formati aperti su Cloud Storage e utilizzare le funzionalità di BigQuery, come controlli di sicurezza precisi e query veloci.

Architettura medallion

Un pattern di progettazione comune in una data lakehouse è l'architettura medallion, che organizza logicamente i dati in livelli progressivi di struttura e qualità:

  • Livello Bronze (grezzo):inserisce e archivia i dati non elaborati in formati aperti come Apache Iceberg su Cloud Storage.
  • Livello silver (pulito):pulisce, filtra e arricchisce i dati grezzi in tabelle standardizzate.
  • Livello gold (curato):fornisce tabelle completamente curate e aggregate a livello aziendale. Nel lakehouse di Google Cloud, BigQuery viene spesso utilizzato per gestire il livello gold per il consumo, la generazione di report e l'analisi ad alte prestazioni.

Interoperabilità aperta

L'interoperabilità aperta è la capacità di più sistemi analitici e transazionali, come BigQuery, Apache Spark e Apache Flink, di operare su una singola copia di dati in formati aperti come Apache Iceberg. In questo modo si elimina la necessità di duplicare i dati e si garantisce una visione coerente dei dati in strumenti diversi.

Catalogo runtime Lakehouse

Il catalogo runtime lakehouse è un servizio di metadati centralizzato e serverless che funge da unica fonte attendibile per il lakehouse di Google Cloud. Consente a più motori, come Apache Spark, Apache Flink e BigQuery, di scoprire ed eseguire query sulle stesse tabelle contemporaneamente.

Tipi di catalogo

Il catalogo runtime Lakehouse offre diversi tipi di cataloghi per la gestione dei metadati.

Endpoint del catalogo REST di Apache Iceberg

Si tratta di un catalogo basato sull'endpoint del catalogo REST di Apache Iceberg. Fornisce l'interoperabilità tra i motori open source e BigQuery e supporta funzionalità come la distribuzione delle credenziali e il ripristino di emergenza.

Catalogo Apache Iceberg personalizzato per BigQuery

Si tratta di un'integrazione che utilizza direttamente il catalogo BigQuery come servizio di metadati di supporto per le tabelle Apache Iceberg gestite.

Endpoint del catalogo Apache Hive

Questo endpoint fornisce compatibilità per i workload open source che dipendono dall'interfaccia Apache Hive Metastore (HMS), consentendoti di eseguire workload Apache Hive o Spark su un servizio di metastore completamente gestito suGoogle Cloud.

Tipi di tabella

Lakehouse di Google Cloud supporta diversi formati di tabella, a seconda del motore utilizzato per gestire i dati e dell'endpoint del catalogo che stai utilizzando.

Tabelle Apache Iceberg

Si tratta di tabelle Apache Iceberg create da motori open source e archiviate in Cloud Storage. Il catalogo runtime Lakehouse gestisce queste tabelle tramite l'endpoint del catalogo REST Apache Iceberg. I motori open source hanno accesso in lettura e scrittura a queste tabelle, mentre BigQuery ha accesso di sola lettura. Questa opzione è ideale se vuoi che il flusso di lavoro ETL venga gestito da motori open source.

Tabelle BigQuery

Queste tabelle vengono gestite con BigQuery.

Tabelle Apache Iceberg

Si tratta di tabelle Apache Iceberg create da BigQuery e archiviate in Cloud Storage. BigQuery gestisce tutto il layout e l'ottimizzazione dei dati. Sebbene queste tabelle possano essere lette da più motori, BigQuery è l'unico motore che può scriverci direttamente.

Tabelle native

Queste tabelle sono gestite da BigQuery e archiviano i dati nello spazio di archiviazione BigQuery. Puoi collegare queste tabelle al catalogo del runtime Lakehouse.

Tabelle esterne

Le tabelle esterne si trovano al di fuori del catalogo runtime Lakehouse. I dati e i metadati sono autogestiti in un catalogo di terze parti (ad esempio Cloud Storage, S3 o Azure Blob Storage). BigQuery può solo leggere da queste tabelle.

Funzionalità delle tabelle

Evoluzione della tabella

Lakehouse di Google Cloud supporta l'evoluzione delle tabelle Apache Iceberg, che ti consente di modificare lo schema o la specifica di partizionamento di una tabella nel tempo senza riscrivere i dati della tabella o ricrearla.

Viaggio nel tempo

Lo spostamento cronologico ti consente di eseguire query sui dati di una tabella così come esistevano in un momento specifico o in un ID snapshot. Questa opzione è utile per l'audit, la riproduzione degli esperimenti o il ripristino dei dati dopo un'eliminazione accidentale.

Memorizzazione nella cache dei metadati

La memorizzazione nella cache dei metadati è una funzionalità che accelera le prestazioni delle query per le tabelle esterne. Archivia una copia dei metadati della tabella nell'archiviazione BigQuery, riducendo la necessità di leggere i file di metadati da Cloud Storage durante l'esecuzione delle query.

Gestione delle tabelle Lakehouse di Google Cloud

La gestione delle tabelle Lakehouse di Google Cloud semplifica la manutenzione di Lakehouse automatizzando attività come la compattazione e la garbage collection per le tabelle gestite. Ciò garantisce prestazioni ottimali delle query ed efficienza di archiviazione.

Concetti relativi all'interoperabilità

Federazione del catalogo BigQuery

La federazione del catalogo BigQuery ti consente di utilizzare l'endpoint del catalogo REST Apache Iceberg del catalogo runtime Lakehouse per esporre le tabelle gestite da BigQuery, ad esempio le tabelle gestite da Iceberg, a motori open source (OSS) esterni come Apache Spark e Trino.

Anziché creare un contenitore del catalogo Lakehouse dedicato per archiviare i metadati, l'endpoint del catalogo REST di Apache Iceberg funge puramente da gateway proxy, instradando le richieste del catalogo direttamente al catalogo interno di BigQuery. In questo modo puoi creare e gestire tabelle direttamente in BigQuery utilizzando le API o il linguaggio DDL BigQuery standard, mentre i motori OSS esterni hanno accesso in sola lettura per eseguire query su queste tabelle tramite l'endpoint del catalogo REST.

Cross-cloud Lakehouse

Lakehouse cross-cloud estende Lakehouse di Google Cloud, consentendoti di connetterti a cataloghi esterni remoti (ad esempio Databricks Unity Catalog o AWS Glue). Sincronizza i metadati di altri provider di servizi cloud, consentendoti di eseguire query sui dati con BigQuery o motori open source esterni tramite l'endpoint del catalogo REST di Apache Iceberg, senza eseguire la migrazione dei dati.

Set di dati pubblici

Il Lakehouse di Google Cloud ospita set di dati pubblici di alta qualità serviti tramite il catalogo REST Apache Iceberg, che fornisce accesso in sola lettura per l'esplorazione e il test senza gestione dell'infrastruttura.

Struttura di denominazione P.C.N.T.

La struttura di denominazione P.C.N.T. è la convenzione in quattro parti utilizzata per identificare e interrogare in modo univoco le tabelle nel catalogo runtime Lakehouse da BigQuery. Sta per Project.Catalog.Namespace.Table:

  • Progetto: l' Google Cloud ID progetto.
  • Catalogo: il nome del catalogo runtime Lakehouse.
  • Spazio dei nomi: il raggruppamento logico per le tabelle (simile a un set di dati).
  • Tabella: il nome della tabella di dati.

Concetti di sicurezza

Connessioni

Una connessione è una risorsa BigQuery che archivia le credenziali per accedere a dati esterni. Nel Lakehouse di Google Cloud, le connessioni delega l'accesso a Cloud Storage consentendo al service account della connessione di accedere al bucket di archiviazione per tuo conto.

Distribuzione delle credenziali

La distribuzione delle credenziali è un meccanismo di sicurezza che contribuisce a rafforzare il controllo dell'accesso quando si utilizza il catalogo runtime Lakehouse. Se attivato, il servizio genera credenziali di breve durata e con ambito ridotto progettate per concedere l'accesso solo ai percorsi dei file specifici richiesti per una query.

Governance unificata

La governance unificata ti consente di definire e applicare centralmente le norme di sicurezza e gestione dei dati tramite l'integrazione con Knowledge Catalog. Quando registri le tabelle nel catalogo di runtime di Lakehouse, il sistema registra automaticamente le voci corrispondenti nel catalogo dei metadati aziendali (Knowledge Catalog), consentendo la derivazione dei dati, la ricerca semantica e la governance centralizzata tra i motori senza spostare o copiare i file.

Concetti del motore di query

Lakehouse di Google Cloud separa l'archiviazione dal calcolo, consentendo a vari motori di analisi di interagire con tabelle aperte.

Managed Service for Apache Spark

Managed Service for Apache Spark (in precedenza Managed Service for Apache Spark) fornisce un runtime completamente gestito per l'elaborazione di formati di tabelle aperti come Apache Iceberg. Supporta due modalità di esecuzione principali:

  • Batch serverless:progettati per pipeline di elaborazione dei dati automatizzate e non interattive e per carichi di lavoro ETL. Questo modello di pagamento a esecuzione elimina la gestione dei cluster, rimuove la contesa delle risorse tra i job e automatizza la manutenzione dell'infrastruttura.
  • Sessioni interattive serverless:progettate per l'analisi esplorativa dei dati, l'ingegneria dei dati e la sperimentazione di data science. Le sessioni interattive utilizzano i notebook Apache Spark in background utilizzando Spark Connect o kernel Spark remoti, fornendo un ambiente di scalabilità automatica senza configurazione dell'infrastruttura.

Livelli di servizio

Quando esegui workload Apache Spark sul catalogo runtime Lakehouse, puoi scegliere tra diversi livelli di servizio:

  • Livello Standard:il livello di esecuzione predefinito adatto ai carichi di lavoro di elaborazione batch standard.
  • Livello Premium:offre funzionalità avanzate, tra cui il supporto per sessioni di notebook interattive serverless e funzionalità che accelerano le prestazioni, come Lightning Engine.

Modelli di sessione

I modelli di sessione semplificano la configurazione delle sessioni interattive serverless. Consentono agli amministratori di definire e rendere persistenti le impostazioni comuni dell'ambiente (come proprietà del catalogo, configurazioni di rete e versioni del runtime). In questo modo si promuove la coerenza e si migliora la produttività degli sviluppatori riducendo al minimo la configurazione ripetuta. I modelli di sessione possono essere creati e gestiti utilizzando la console Google Cloud , la CLI gcloud, l'API REST o Terraform.

Concetti di affidabilità

Replica tra regioni

La replica tra regioni replica i metadati in più regioni per garantire la disponibilità del catalogo durante le interruzioni a livello di regione.

Failover

Il failover è il processo di passaggio tra le regioni principale e secondaria durante un'interruzione regionale per mantenere le operazioni del catalogo.