Concetti fondamentali

Questo documento definisce i termini e i concetti chiave per il Lakehouse senza confini.

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

Concetti principali

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

Data lakehouse

Un 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 un 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 gestire il livello gold per un consumo, una generazione di report e un'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 tra strumenti diversi.

Catalogo runtime Lakehouse

Il catalogo runtime Lakehouse è un servizio di metadati centralizzato e serverless 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 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.

Configurazioni di archiviazione del catalogo

Quando crei un endpoint del catalogo REST Apache Iceberg, puoi scegliere tra due modelli di archiviazione:

  • Catalogo multi-bucket (consigliato): ti consente di assegnare un nome al catalogo in modo indipendente e di configurare fino a 15 bucket Cloud Storage (default_location e 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 a bucket singolo: una configurazione legacy in cui il catalogo è bloccato a un singolo bucket Cloud Storage ed eredita il nome del bucket. Quando configuri i motori di query client, imposta il percorso del 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 Apache Hive Metastore (HMS), consentendoti di eseguire workload Apache Hive o Spark su un servizio 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 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 nell'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 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 delle tabelle

Il 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

Il viaggio nel tempo ti 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 nell'archiviazione BigQuery, riducendo la necessità di leggere i file di metadati da Cloud Storage durante l'esecuzione delle query.

Gestione delle tabelle del Lakehouse di Google Cloud

La gestione delle tabelle del 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 di query e un'efficienza di archiviazione ottimali.

Concetti di interoperabilità

Lakehouse senza confini

Il Lakehouse senza confini estende il Lakehouse di Google Cloud, consentendoti di connetterti a cataloghi esterni remoti (come Databricks Unity Catalog, AWS Glue, Snowflake Horizon Catalog o SAP BDC). 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 migrare i dati.

Set di dati pubblici

Il 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. Nel 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 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 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

Il 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 trattamento 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 con 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 (come le proprietà del catalogo, le configurazioni di rete e le 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 principali e secondarie durante un'interruzione regionale per mantenere le operazioni del catalogo.