Questo documento definisce i termini e i concetti chiave di Lakehouse for Apache Iceberg.
Questa pagina non è un elenco esaustivo delle funzionalità, ma un riferimento generale ai termini e ai 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. Ti consente di archiviare i dati in formati aperti su Cloud Storage e di utilizzare le funzionalità di BigQuery, come controlli di sicurezza precisi e query rapide.
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 bronzo (non elaborato): importa e archivia i dati non elaborati in formati aperti come Apache Iceberg su Cloud Storage.
- Livello argento (pulito): pulisce, filtra e arricchisce i dati non elaborati in tabelle standardizzate.
- Livello oro (selezionato): fornisce tabelle a livello aziendale completamente selezionate e aggregate. In Lakehouse di Google Cloud, BigQuery viene spesso utilizzato per erogare il livello oro per un consumo, report e 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 dei dati in formati aperti come Apache Iceberg. In questo modo non è necessario duplicare i dati e si garantisce una visualizzazione coerente dei dati in strumenti diversi.
Catalogo runtime Lakehouse
Il catalogo runtime Lakehouse è un servizio di metadati centralizzato e serverless che funge da Single Source Of Truth per 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 Apache Iceberg
Si tratta di un catalogo basato sull'endpoint del catalogo REST Apache Iceberg. Fornisce 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 la compatibilità per i workload open source che dipendono dall' interfaccia del metastore Apache Hive (HMS), consentendoti di eseguire workload Apache Hive o Spark su un servizio di metastore completamente gestito su Google 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 in uso.
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 in sola lettura. Questa opzione è ideale se vuoi che il flusso di lavoro ETL sia 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ò scriverle direttamente.
Tabelle native
Queste tabelle sono gestite da BigQuery e archiviano i dati nello spazio di archiviazione BigQuery. Puoi collegare queste tabelle al catalogo runtime Lakehouse.
Tabelle esterne
Le tabelle esterne si trovano al di fuori del catalogo runtime Lakehouse. I dati e i metadati vengono gestiti autonomamente in un catalogo di terze parti (ad esempio Cloud Storage, S3 o Azure Blob Storage). BigQuery può solo leggere queste tabelle.
Funzionalità delle tabelle
Evoluzione delle tabelle
Lakehouse di Google Cloud supporta l'evoluzione delle tabelle Apache Iceberg, che 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
Il viaggio nel tempo consente di eseguire query sui dati di una tabella così come esistevano in un momento specifico o in un ID snapshot. Questa funzionalità è utile per l'audit, la riproduzione di 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 nello spazio di 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. In questo modo si garantiscono prestazioni di query e efficienza di archiviazione ottimali.
Concetti di interoperabilità
Federazione del catalogo BigQuery
La federazione del catalogo BigQuery 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 container di catalogo Lakehouse dedicato per archiviare i metadati, l'endpoint del catalogo REST Apache Iceberg funge esclusivamente da gateway proxy, instradando le richieste di catalogo direttamente al catalogo interno di BigQuery. In questo modo puoi creare e gestire le tabelle direttamente in BigQuery utilizzando DDL o API BigQuery standard, mentre i motori OSS esterni hanno accesso in sola lettura per eseguire query su queste tabelle tramite l'endpoint del catalogo REST.
Lakehouse senza margini
Lakehouse senza margini 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 fornitori di servizi cloud, consentendoti di eseguire query sui dati con BigQuery o motori open source esterni tramite l'endpoint del catalogo REST Apache Iceberg, senza eseguire la migrazione dei dati.
Set di dati pubblici
Lakehouse di Google Cloud ospita set di dati pubblici di alta qualità forniti tramite il catalogo REST Apache Iceberg, fornendo accesso in sola lettura per l'esplorazione e il test senza gestire l'infrastruttura.
Struttura di denominazione P.C.N.T.
La struttura di denominazione P.C.N.T. è la convenzione in quattro parti utilizzata per identificare in modo univoco ed eseguire query sulle 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.
- Namespace: 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 l'accesso ai dati esterni. In Lakehouse di Google Cloud, le connessioni delegano 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 consente di rafforzare il controllo dell'accesso quando si utilizza il catalogo runtime Lakehouse. Quando è abilitato, il servizio genera credenziali di breve durata e con ambito ridotto progettate per concedere l'accesso solo ai percorsi di file specifici richiesti per una query.
Governance unificata
La governance unificata consente di definire e applicare centralmente i criteri di sicurezza e gestione dei dati tramite l'integrazione con Knowledge Catalog. Quando registri le tabelle nel catalogo runtime Lakehouse, il sistema registra automaticamente le voci corrispondenti nel catalogo dei metadati aziendali (Knowledge Catalog), consentendo la tracciabilità dei dati, la ricerca semantica e la governance centrale tra i motori senza spostare o copiare i file.
Concetti del motore di query
Lakehouse di Google Cloud disaccoppia l'archiviazione dal calcolo, consentendo a vari motori di analisi di interagire con le 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 aperte come Apache Iceberg. Supporta due modalità di esecuzione principali:
- Batch serverless: progettati per pipeline di elaborazione dei dati automatizzate e non interattive e workload ETL. Questo modello con pagamento in base all'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 alimentano i notebook Apache Spark in background utilizzando Spark Connect o i 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 workload di elaborazione batch standard.
- Livello Premium: fornisce funzionalità avanzate, tra cui il supporto per le sessioni di notebook interattivi serverless e funzionalità di accelerazione delle prestazioni come Lightning Engine.
Modelli di sessione
I modelli di sessione semplificano la configurazione delle sessioni interattive serverless. Consentono agli amministratori di definire e conservare le impostazioni comuni dell'ambiente (ad esempio 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 Google Cloud console, l'gcloud CLI, 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 regionali.
Failover
Il failover è il processo di passaggio tra le regioni primaria e secondaria durante un'interruzione regionale per mantenere le operazioni del catalogo.