Un'architettura Lakehouse senza confini ti consente di unificare l'analisi dei dati in ambienti distribuiti e sistemi di archiviazione in formato aperto suGoogle Cloud. Comprendere questi concetti di base ti aiuta a valutare le architetture e a configurare cataloghi unificati, computing multi-engine e governance per i tuoi workload Lakehouse.
Anziché fornire un elenco esaustivo delle funzionalità, questo riferimento illustra la terminologia di base utilizzata nella documentazione di Lakehouse.
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 Bronze (non elaborato): importa e archivia i dati non elaborati in formati aperti come Apache Iceberg su Cloud Storage.
- Livello silver (pulito): pulisce, filtra e arricchisce i dati non elaborati in tabelle standardizzate.
- Livello Gold (curato): fornisce tabelle a livello aziendale completamente curate e aggregate. Nel Lakehouse di Google Cloud, BigQuery viene spesso utilizzato per fornire il livello Gold per l'utilizzo, i 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 visualizzazione coerente dei dati tra strumenti diversi.
Catalogo di runtime Lakehouse
Il catalogo di runtime Lakehouse è un servizio di metadati serverless centralizzato che funge da Single Source Of Truth 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 di 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 ripristino di emergenza.
Configurazioni dello spazio di archiviazione del catalogo
Quando crei un endpoint del catalogo REST Apache Iceberg, puoi scegliere tra due modelli di archiviazione:
- Catalogo con più bucket (consigliato): consente di assegnare un nome al catalogo in modo indipendente e di configurare una posizione di archiviazione predefinita (
default_location) e fino a 128 bucket Cloud Storage o sottopercorsi aggiuntivi inrestricted_locations. Quando configuri i motori di query client (come Spark o Trino), imposta il percorso del warehouse subl://projects/PROJECT_ID/catalogs/CATALOG_ID. - Catalogo con un singolo bucket: una configurazione legacy in cui il catalogo è bloccato su un singolo bucket Cloud Storage ed eredita il nome del bucket.
Quando configuri i motori di query client, imposta il percorso del data warehouse su
gs://CLOUD_STORAGE_BUCKET_NAME.
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
Il lakehouse di Google Cloud supporta diversi formati di tabella, a seconda del motore utilizzato per gestire i dati e dell'endpoint del catalogo che utilizzi.
Tabelle Apache Iceberg
Si tratta di tabelle Apache Iceberg che crei da motori open source e archivi in Cloud Storage. Il catalogo di runtime Lakehouse gestisce queste tabelle e fornisce l'accesso 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 lettura e scrittura (anteprima). Questa opzione è la migliore se vuoi che il tuo workflow ETL sia gestito da motori open source.
Tabelle BigQuery
Queste tabelle sono gestite con BigQuery.
Tabelle Apache Iceberg
Si tratta di tabelle Apache Iceberg che crei da BigQuery e archivi 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ò scrivere direttamente al loro interno.
Tabelle native
Queste tabelle sono gestite da BigQuery e archiviano i dati nello spazio di archiviazione di BigQuery. Puoi collegare queste tabelle al catalogo di runtime Lakehouse.
Tabelle esterne
Le tabelle esterne si trovano al di fuori del catalogo di 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à della tabella
Evoluzione della tabella
Lakehouse di Google Cloud supporta l'evoluzione delle tabelle Apache Iceberg, che consente di modificare lo schema o la specifica di partizione di una tabella nel tempo senza riscrivere i dati della tabella o ricrearla.
Viaggio nel tempo
La funzionalità Spostamento cronologico ti consente di eseguire query sui dati di una tabella così come esistevano in un momento specifico o in un ID snapshot. Questo è 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 di 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 del lakehouse automatizzando attività come la compattazione e la garbage collection per le tabelle gestite. In questo modo, si garantiscono prestazioni ottimali delle query ed efficienza dello spazio di archiviazione.
Concetti di interoperabilità
Accesso ai dati cross-cloud
L'accesso ai dati cross-cloud nel Lakehouse senza confini ti consente di connetterti a cataloghi esterni remoti (come Databricks Unity Catalog, AWS Glue, Snowflake Horizon Catalog, Workday Data Lake o SAP BDC). Sincronizza i metadati di altri cloud provider, consentendoti di eseguire query sui dati con BigQuery o motori open source esterni tramite l'endpoint del catalogo REST di Apache Iceberg, senza migrare i dati.
Set di dati pubblici
Borderless Lakehouse ospita set di dati pubblici di alta qualità forniti tramite l'endpoint del catalogo REST Apache Iceberg, fornendo l'accesso di sola lettura per l'esplorazione e i 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 ed eseguire query in modo univoco sulle tabelle nel catalogo di runtime Lakehouse da BigQuery. Significa Project.Catalog.Namespace.Table:
- Progetto: l'ID progetto Google Cloud .
- Catalogo: il nome del catalogo di runtime Lakehouse.
- Spazio dei nomi: il raggruppamento logico delle 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 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 aiuta a rafforzare controllo dell'accesso quando si utilizza il catalogo di runtime Lakehouse. Se abilitato, il servizio genera credenziali di breve durata e con ambito ridotto progettate per concedere l'accesso solo ai percorsi file specifici richiesti per una query.
Governance unificata
La governance unificata ti consente di definire e applicare centralmente le policy di sicurezza e gestione dei dati tramite l'integrazione con Knowledge Catalog. Quando registri le tabelle nel catalogo di runtime 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 centrale tra i motori senza spostare o copiare i file.
Concetti relativi al motore di query
Il lakehouse di Google Cloud disaccoppia lo spazio di archiviazione dal computing, consentendo a vari motori di analisi di interagire con le tabelle aperte.
Managed Service for Apache Spark
Managed Service for Apache Spark (in precedenza Dataproc Serverless) 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 trattamento dati automatizzate e non interattive e workload ETL. Questo modello pay-per-execution 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, il data engineering e la sperimentazione di data science. Le sessioni interattive alimentano i notebook Apache Spark in background utilizzando Spark Connect o kernel Spark remoti, fornendo un ambiente con scalabilità automatica senza configurazione dell'infrastruttura.
Livelli di servizio
Quando esegui i workload Apache Spark nel catalogo di 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: offre funzionalità avanzate, tra cui il supporto per sessioni di blocchi note interattivi serverless e funzionalità di accelerazione delle prestazioni come Lightning Engine.
Modelli di sessione
I template di sessione semplificano la configurazione delle sessioni interattive serverless.
Consentono agli amministratori di definire e mantenere impostazioni di ambiente comuni (come proprietà del catalogo, configurazioni di rete e versioni di runtime). In questo modo, si promuove la coerenza e si migliora la produttività degli sviluppatori riducendo al minimo la configurazione ripetuta. I template di sessione possono essere creati e gestiti utilizzando la consoleGoogle Cloud , l'interfaccia a riga di comando 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 principali e secondarie durante un'interruzione regionale per mantenere le operazioni del catalogo.