Condividi tramite


Meglio insieme: lakehouse e magazzino

Si applica a:✅ endpoint di Analisi SQL e Warehouse in Microsoft Fabric

Questo articolo illustra il carico di lavoro dell'archiviazione dati con l'endpoint SQL di lakehouse e gli scenari per l'uso di lakehouse nell'archiviazione dati. Per una guida decisionale sulla scelta di sviluppare i dati del magazzino, vedere Guida alle decisioni di Microsoft Fabric: Scegliere tra magazzino e lakehouse.

Che cos'è l'endpoint di analisi SQL per un lakehouse?

In Fabric, quando si crea un Lakehouse, viene creato automaticamente un Warehouse.

L'endpoint di analisi SQL consente di eseguire query sui dati in lakehouse usando il linguaggio T-SQL e il protocollo TDS. Ogni lakehouse ha un endpoint di analisi SQL e ogni area di lavoro può avere più di un lakehouse. Il numero di endpoint di analisi SQL in un'area di lavoro corrisponde al numero di elementi lakehouse.

  • L'endpoint di analisi SQL viene generato automaticamente per ogni lakehouse ed espone tabelle Delta da lakehouse come tabelle SQL su cui è possibile eseguire query usando il linguaggio T-SQL.
  • Ogni tabella delta di un lakehouse è rappresentata come una tabella. I dati devono essere in formato delta.
  • Il modello semantico predefinito di Power BI viene creato per ogni endpoint di analisi SQL e segue la convenzione di denominazione degli oggetti lakehouse.

Non è necessario creare un endpoint di analisi SQL in Microsoft Fabric. Gli utenti di Microsoft Fabric non possono creare un endpoint di analisi SQL in un'area di lavoro. Un endpoint di analisi SQL viene creato automaticamente per ogni lakehouse. Per ottenere un endpoint di analisi SQL, creare un lakehouse e un endpoint di analisi SQL verrà creato automaticamente per il lakehouse.

Nota

In background, l'endpoint di analisi SQL usa lo stesso motore del magazzino per gestire query SQL ad alte prestazioni e bassa latenza.

Individuazione automatica dei metadati

Un processo semplice legge i log delta e dalla cartella dei file e garantisce che i metadati SQL per le tabelle, ad esempio le statistiche, siano sempre aggiornati. Non è necessaria alcuna azione da parte dell'utente e non è necessario importare, copiare dati o configurare l'infrastruttura. Per altre informazioni, vedere Schema generato automaticamente nell'endpoint di analisi SQL.

Scenari che lakehouse abilita per l'archiviazione dati

In Fabric offriamo un magazzino.

Lakehouse, con il relativo endpoint di analisi SQL, basato sul magazzino, può semplificare l'albero delle decisioni tradizionale di modelli di architettura batch, streaming o lambda. Insieme a un magazzino, il lakehouse consente molti scenari di analisi aggiuntivi. Questa sezione illustra come sfruttare un lakehouse insieme a un magazzino per una strategia di analisi ottimale.

Analisi con il livello oro di Fabric Lakehouse

Una delle strategie note per l'organizzazione di data lake è un'architettura medallion in cui i file sono organizzati in livelli non elaborati (bronzo), consolidati (argento) e raffinati (oro). Un endpoint di analisi SQL può essere usato per analizzare i dati nel livello gold dell'architettura medallion se i file vengono archiviati in formato Delta Lake, anche se vengono archiviati all'esterno di Microsoft Fabric OneLake.

È possibile usare i collegamenti di OneLake per fare riferimento a cartelle oro negli account esterni di Azure Data Lake Storage gestiti dai motori Synapse Spark o Azure Databricks.

I magazzini possono anche essere aggiunti come aree di interesse o soluzioni orientate ai domini per soggetti specifici che possono avere requisiti di analisi su misura.

Se si sceglie di mantenere i dati in Fabric, questo sarà sempre aperto e accessibile tramite API, formato Delta e naturalmente T-SQL.

Eseguire query come servizio sulle tabelle delta da lakehouse e altri elementi dall'hub dati di OneLake

Esistono casi d'uso in cui un analista, uno scienziato dei dati o un ingegnere dei dati potrebbe dover eseguire query sui dati all'interno di un data lake. In Fabric questa esperienza end-to-end è completamente SaaSified.

OneLake è un singolo data lake logico e unificato per l'intera organizzazione. OneLake è il OneDrive per i dati. OneLake può contenere più aree di lavoro, ad esempio lungo le divisioni dell'organizzazione. Ogni elemento in Fabric rende i dati accessibili tramite OneLake.

I dati in Microsoft Fabric Lakehouse vengono archiviati fisicamente in OneLake con la seguente struttura di cartelle:

  • La cartella /Files contiene file non elaborati e non consolidati (bronzo) che devono essere elaborati dagli ingegneri dei dati prima di essere analizzati. I file potrebbero trovarsi in vari formati, ad esempio CSV, Parquet, tipi diversi di immagini e così via.
  • La cartella /Tables contiene dati perfezionati e consolidati (oro) pronti per l'analisi aziendale. I dati consolidati sono in formato Delta Lake.

Un endpoint di analisi SQL può leggere i dati nella cartella /tables all'interno di OneLake. L'analisi è semplice come l'esecuzione di query sull'endpoint di analisi SQL di Lakehouse. Insieme al Warehouse, si ottengono anche query tra database e la possibilità di passare facilmente da query di sola lettura alla creazione di logica di business aggiuntiva sui dati di OneLake con Synapse Data Warehouse.

Ingegneria dei dati con Spark e servizio con SQL

Le aziende basate sui dati devono sincronizzare i propri sistemi back-end e di analisi quasi in tempo reale con le applicazioni rivolte ai clienti. L'impatto delle transazioni deve riflettersi in modo accurato nei processi end-to-end, applicazioni correlate e sistemi di elaborazione delle transazioni online (OLTP).

In Fabric è possibile usare Spark Streaming o Ingegneria dei dati per curare i dati. È possibile usare l'endpoint di analisi SQL lakehouse per convalidare la qualità dei dati e per i processi T-SQL esistenti. Questa operazione può essere eseguita in un'architettura medallion o all'interno di più livelli di Lakehouse, distribuendo dati bronzo, argento, oro o in gestione temporanea, curati e raffinati. È possibile personalizzare le cartelle e le tabelle create tramite Spark per soddisfare i requisiti aziendali e di ingegneria dei dati. Quando si è pronti, un magazzino può gestire tutte le applicazioni di business intelligence downstream e altri casi d'uso di analisi, senza copiare dati, usando visualizzazioni o affinando i dati usando CREATE TABLE AS SELECT (CTAS), stored procedure e altri comandi DML/DDL.

Integrazione con il livello oro di Open lakehouse

Un endpoint di analisi SQL non ha come ambito l'analisi dei dati solo in un lakehouse Fabric. Un endpoint di analisi SQL consente di analizzare i dati lake in qualsiasi lakehouse, usando Synapse Spark, Azure Databricks o qualsiasi altro motore di ingegneria dei dati incentrato sul lake. I dati possono essere archiviati in Azure Data Lake Storage o Amazon S3.

Questa stretta integrazione bidirezionale con Fabric Lakehouse è sempre accessibile tramite qualsiasi motore con API aperte, il formato Delta e naturalmente T-SQL.

Virtualizzazione dei dati di data lake esterni con collegamenti

È possibile usare i collegamenti di OneLake per fare riferimento a cartelle oro negli account esterni di Azure Data Lake Storage gestiti dai motori Synapse Spark o Azure Databricks, nonché a qualsiasi tabella delta archiviata in Amazon S3.

Qualsiasi cartella a cui viene fatto riferimento usando un collegamento può essere analizzata da un endpoint di analisi SQL e viene creata una tabella SQL per i dati a cui si fa riferimento. La tabella SQL può essere usata per esporre i dati in data lake gestiti esternamente e abilitare l'analisi su di essi.

Questo collegamento funge da magazzino virtuale che può essere usato da un magazzino per requisiti aggiuntivi di analisi downstream o sottoposti direttamente a query.

Usare la procedura seguente per analizzare i dati negli account esterni di data lake storage:

  1. Creare un collegamento che faccia riferimento a una cartella nell'account Azure Data Lake Storage o Amazon S3. Dopo aver immesso i dettagli e le credenziali della connessione, viene visualizzato un collegamento in Lakehouse.
  2. Passare all'endpoint di analisi SQL di lakehouse e trovare una tabella SQL con un nome corrispondente al nome del collegamento. Questa tabella SQL fa riferimento alla cartella nella cartella ADLS/S3.
  3. Eseguire una query sulla tabella SQL che fa riferimento ai dati in ADLS/S3. La tabella può essere usata come qualsiasi altra tabella nell'endpoint di analisi SQL. È possibile unire tabelle che fanno riferimento ai dati in account di archiviazione diversi.

Nota

Se la tabella SQL non viene visualizzata immediatamente nell'endpoint di analisi SQL, potrebbe essere necessario attendere alcuni minuti. La tabella SQL che fa riferimento ai dati nell'account di archiviazione esterno viene creata con un ritardo.

Analizzare i dati archiviati o storici in un data lake

Il partizionamento dei dati è una tecnica di ottimizzazione dell'accesso ai dati nota nei data lake. Gli insiemi di dati partizionati vengono archiviati nelle strutture di cartelle gerarchica nel formato /year=<year>/month=<month>/day=<day>, dove year, month e day sono le colonne di partizionamento. In questo modo è possibile archiviare i dati storici separati logicamente in un formato che consente ai motori di calcolo di leggere i dati in base alle esigenze con filtri efficienti, anziché leggere l'intera directory e tutte le cartelle e i file in essa contenuti.

I dati partizionati consentono un accesso più rapido ai se le query filtrano i predicati che confrontano le colonne del predicato con un valore.

Un endpoint di analisi SQL può leggere facilmente questo tipo di dati senza alcuna configurazione necessaria. Ad esempio, è possibile usare qualsiasi applicazione per archiviare i dati in un data lake, incluso SQL Server 2022 o Istanza gestita di SQL di Azure. Dopo aver partizionato i dati e averli inseriti in un lake per scopi di archiviazione con tabelle esterne, un endpoint di analisi SQL può leggere le tabelle Delta Lake partizionate come tabelle SQL e consentire all'organizzazione di analizzarle. In questo modo si riduce il costo totale di proprietà, si riduce la duplicazione dei dati e illumina scenari di Big Data, intelligenza artificiale, altri tipi di analisi.

Virtualizzazione dei dati di Fabric con collegamenti

All'interno di Fabric, le aree di lavoro consentono di separare i dati in base a requisiti aziendali, geografici o normativi complessi.

Un endpoint di analisi SQL consente di lasciare i dati dove sono e di continuare ad analizzarli in magazzino o lakehouse, anche in altre aree di lavoro di Microsoft Fabric, tramite una virtualizzazione fluida. Ogni Microsoft Fabric Lakehouse archivia i dati in OneLake.

I collegamenti consentono di fare riferimento alle cartelle in qualsiasi posizione di OneLake.

Ogni Microsoft Fabric Warehouse archivia i dati delle tabelle in OneLake. Se una tabella è di solo accodamento, i dati della tabella vengono esposti come dati di Delta Lake in OneLake. I collegamenti consentono di fare riferimento alle cartelle in qualsiasi OneLake in cui sono esposte le tabelle Warehouse.

Condivisione ed esecuzione di query tra aree di lavoro

Anche se le aree di lavoro consentono di separare i dati in base a requisiti aziendali, geografici o normativi complessi, a volte è necessario facilitare la condivisione tra queste righe per esigenze di analisi specifiche.

Un endpoint di analisi SQL di lakehouse consente di condividere facilmente i dati tra reparti e utenti, in cui un utente può portare la propria capacità e il proprio magazzino. Le aree di lavoro organizzano reparti, business unit o domini analitici. Usando i collegamenti, gli utenti possono trovare i dati di Warehouse o Lakehouse. Gli utenti possono eseguire immediatamente analisi personalizzate dagli stessi dati condivisi. Oltre ad aiutare con i chargeback del reparto e l'assegnazione dell'utilizzo, si tratta anche di una versione di dati senza copia.

L'endpoint di analisi SQL consente l'esecuzione di query su qualsiasi tabella e una facile condivisione. Controlli aggiuntivi dei ruoli dell'area di lavoro e dei ruoli di sicurezza che possono essere ulteriormente stratificati per soddisfare requisiti aziendali aggiuntivi.

Per abilitare l'analisi dei dati tra aree di lavoro, seguire questa procedura:

  1. Creare un collegamento OneLake che faccia riferimento a una tabella o a una cartella in un'area di lavoro a cui è possibile accedere.
  2. Scegliere un Lakehouse o Warehouse contenente una tabella o una cartella Delta Lake da analizzare. Dopo aver selezionato una tabella o una cartella, viene visualizzato un collegamento in Lakehouse.
  3. Passare all'endpoint di analisi SQL del lakehouse e trovare la tabella SQL con un nome corrispondente al nome del collegamento. Questa tabella SQL fa riferimento alla cartella in un'altra area di lavoro.
  4. Eseguire una query sulla tabella SQL che fa riferimento ai dati in un'altra area di lavoro. La tabella può essere usata come qualsiasi altra tabella nell'endpoint di analisi SQL. È possibile unire le tabelle che fanno riferimento ai dati in aree di lavoro diverse.

Nota

Se la tabella SQL non viene visualizzata immediatamente nell'endpoint di analisi SQL, potrebbe essere necessario attendere alcuni minuti. La tabella SQL che fa riferimento ai dati in un'altra area di lavoro viene creata con un ritardo.

Analizzare i dati partizionati

Il partizionamento dei dati è una tecnica di ottimizzazione dell'accesso ai dati nota nei data lake. Gli insiemi di dati partizionati vengono archiviati nelle strutture di cartelle gerarchica nel formato /year=<year>/month=<month>/day=<day>, dove year, month e day sono le colonne di partizionamento. Gli insiemi di dati partizionati consentono un accesso più rapido ai dati se le query filtrano i dati usando i predicati che filtrano i dati confrontando le colonne del predicato con un valore.

Un endpoint di analisi SQL può rappresentare degli insiemi di dati Delta Lake partizionati come tabelle SQL e consentire di analizzarli.