Concetti fondamentali

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 in restricted_locations. Quando configuri i motori di query client (come Spark o Trino), imposta il percorso del warehouse su bl://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.