Meglio insieme: il lago e il magazzino

Si applica a: Endpoint di analisi SQL e Warehouse in Microsoft Fabric

Questo articolo illustra il carico di lavoro di data warehousing con l'endpoint di analisi SQL di Lakehouse e gli scenari per l'uso di Lakehouse in data warehousing.

Che cos'è un endpoint di analisi SQL 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 una 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 differenziale di una Lakehouse è rappresentata come una tabella. I dati devono essere in formato differenziale.
  • Il modello semantico di Power BI predefinito 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 una lakehouse e un endpoint di analisi SQL verrà creato automaticamente per Lakehouse.

Nota

In background, l'endpoint di analisi SQL usa lo stesso motore di Warehouse per gestire query SQL a bassa latenza e prestazioni elevate.

Individuazione automatica dei metadati

Un processo semplice legge i log differenziali 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 abilita Lakehouse per il data warehousing

In Fabric offriamo un magazzino.

Lakehouse, con il relativo endpoint di analisi SQL, basato su Warehouse, 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 additivi. In questa sezione viene illustrato come usare un Lakehouse insieme a un warehouse 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 Delta Lake formato, anche se sono archiviati all'esterno di Microsoft Fabric OneLake.

È possibile usare i tasti di scelta rapida di OneLake per fare riferimento a cartelle gold in account di archiviazione Azure Data Lake esterni gestiti dai motori synapse Spark o Azure Databricks.

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

Se si sceglie di mantenere i dati in Fabric, 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, un data scientist o un data engineer potrebbe dover eseguire query sui dati all'interno di un data lake. In Fabric questa esperienza end-to-end è completamente SaaSified.

OneLake è un data lake singolo, unificato e logico per l'intera organizzazione. OneLake è 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 struttura di cartelle seguente:

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

Un endpoint di analisi SQL può leggere i dati nella /tables cartella 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 Serve con SQL

Le aziende basate sui dati devono mantenere i sistemi back-end e di analisi quasi in tempo reale con le applicazioni rivolte ai clienti. L'impatto delle transazioni deve riflettere in modo accurato tramite processi end-to-end, applicazioni correlate e sistemi OLTP (Online Transaction Processing).

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, servendo bronzo, argento, oro o staging, curati e dati raffinati. È possibile personalizzare le cartelle e le tabelle create tramite Spark per soddisfare i requisiti aziendali e di progettazione dei dati. Quando si è pronti, un warehouse 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 tramite 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 Fabric Lakehouse. Un endpoint di analisi SQL consente di analizzare i dati lake in qualsiasi lakehouse, usando Synapse Spark, Azure Databricks o qualsiasi altro motore di progettazione dei dati incentrato sul lake. I dati possono essere archiviati in Azure Data Lake Archiviazione 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 gold negli account di archiviazione di Azure Data Lake esterni gestiti dai motori Synapse Spark o Azure Databricks, nonché da 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 warehouse virtuale che può essere usato da un warehouse per requisiti aggiuntivi di analisi downstream o sottoposti direttamente a query.

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

  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 cronologici in un data lake

Il partizionamento dei dati è una tecnica di ottimizzazione dell'accesso ai dati nota nei data lake. I set di dati partizionati vengono archiviati nelle strutture di cartelle gerarchica nel formato /year=<year>/month=<month>/day=<day>, dove year, monthe day sono le colonne di partizionamento. In questo modo è possibile archiviare i dati cronologici 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 tutti i file e le cartelle contenuti all'interno.

I dati partizionati consentono un accesso più rapido 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 si accende Big Data, intelligenza artificiale, altri scenari 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 sul posto e di analizzare ancora i dati in Warehouse o Lakehouse, anche in altre aree di lavoro di Microsoft Fabric, tramite una virtualizzazione senza problemi. 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 sola accodamento, i dati della tabella vengono esposti come dati 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 può consentire una semplice condivisione dei dati tra reparti e utenti, in cui un utente può portare la propria capacità e il proprio warehouse. Le aree di lavoro organizzano reparti, business unit o domini analitici. Usando i tasti di scelta rapida, 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'allocazione dell'utilizzo, si tratta di una versione di copia zero anche dei dati.

L'endpoint di analisi SQL consente l'esecuzione di query su qualsiasi tabella e facile condivisione. Controlli aggiunti dei ruoli dell'area di lavoro e dei ruoli di sicurezza che possono essere ulteriormente a più livelli 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 di 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. I set di dati partizionati vengono archiviati nelle strutture di cartelle gerarchica nel formato /year=<year>/month=<month>/day=<day>, dove year, monthe day sono le colonne di partizionamento. I set 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 set di dati Delta Lake partizionati come tabelle SQL e consentire di analizzarli.