Casi d'uso degli endpoint di analisi SQL di Lakehouse

L'endpoint di analisi SQL è un'interfaccia T-SQL ottimizzata per operazioni di lettura basata sui dati Delta in Microsoft Fabric. Questo articolo illustra il carico di lavoro di data warehousing di Fabric con l'endpoint di analisi SQL del Lakehouse e gli scenari di utilizzo del Lakehouse nel data warehousing.

Che cos'è un endpoint di analisi SQL in un lakehouse?

L'endpoint di analisi SQL consente di eseguire query sui dati in Lakehouse usando il linguaggio T-SQL e il protocollo TDS.

  • L'endpoint di analisi SQL espone tabelle Delta da Lakehouse come tabelle SQL su cui è possibile eseguire query con T-SQL.
  • Ogni tabella Delta di un Lakehouse è rappresentata come una singola tabella. I dati devono essere in formato delta.
  • 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.

Non è necessario creare un endpoint di analisi SQL in Microsoft Fabric. Un endpoint di analisi SQL viene creato automaticamente per ogni lakehouse, database o database con mirroring. Un endpoint di analisi SQL fornisce funzionalità leggere di data warehousing per i relativi elementi principali, completando l'architettura lakehouse del warehouse. Questa architettura consente al mirroring di Spark o di Fabric di gestire i dati in una struttura di cartelle del lakehouse che può essere visualizzata dall'endpoint di analisi SQL.

Note

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 Delta dalla /Tables cartella 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 Warehouse, può semplificare l'albero decisionale tradizionale dei 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 strategia ben nota per l'organizzazione dei dati in un data lake è l'architettura a medaglioni. Questa strategia organizza i file in strati non elaborati (bronzo), consolidati (argento) e raffinati (oro). È possibile usare un endpoint di analisi SQL 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 del Microsoft Fabric OneLake.

Usare le scorciatoie di OneLake per fare riferimento alle cartelle Gold negli account di archiviazione Azure Data Lake esterni gestiti dai motori Synapse Spark o Azure Databricks.

È anche possibile aggiungere magazzini come aree di interesse o soluzioni orientate ai domini per un argomento specifico che può avere requisiti di analisi su misura.

Se scegli di mantenere i tuoi dati in Fabric, sono sempre aperti e accessibili tramite API, il formato Delta e, naturalmente, T-SQL.

Eseguire query come servizio sulle tabelle delta di Lakehouse e altri elementi di OneLake

Gli analisti, i data scientist e i data engineer potrebbero dover eseguire query sui dati all'interno di un data lake. In Fabric, questa esperienza completa è interamente basata sul modello SaaS.

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 (bronze) che i data engineer devono elaborare prima dell'analisi. I file potrebbero trovarsi in diversi formati, ad esempio CSV, Parquet, tipi diversi di immagini e altro ancora.
  • 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 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 Fabric 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 a medaglione o all'interno di diversi livelli del tuo Lakehouse, servendo dati bronzo, argento, oro, o di staging, 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 è limitato all'analisi dei dati solo in Fabric Lakehouse. Usando un endpoint di analisi SQL, è possibile analizzare i dati lake in qualsiasi lakehouse usando Synapse Spark, Azure Databricks o qualsiasi altro motore di progettazione dei dati incentrato sul lake. È possibile archiviare i dati in Azure Data Lake Storage o Amazon S3.

È sempre possibile accedere a questa stretta integrazione bidirezionale con il Fabric Lakehouse tramite qualsiasi motore usando API aperte, il formato Delta e naturalmente T-SQL.

Virtualizzazione dei dati di data lake esterni con scorciatoie

Usa i shortcuts di OneLake per fare riferimento alle cartelle gold negli account di archiviazione Azure Data Lake esterni gestiti dai motori Synapse Spark o Azure Databricks, nonché a qualsiasi tabella Delta archiviata in Amazon S3.

È possibile analizzare qualsiasi cartella a cui viene fatto riferimento da un collegamento da un endpoint di analisi SQL e creare una tabella SQL per i dati a cui si fa riferimento. Usare la tabella SQL per esporre i dati in data lake gestiti esternamente e abilitare l'analisi su di essi.

Questa scorciatoia funge da data warehouse virtuale che puoi utilizzare da un warehouse per ulteriori esigenze di analisi a valle oppure interrogare direttamente.

Per analizzare i dati negli account di archiviazione data lake esterni, seguire questa procedura:

  1. Creare un collegamento che faccia riferimento a una cartella nell'account Azure Data Lake Storage o Amazon S3. Dopo aver immesso le informazioni di connessione e le credenziali, nel Lakehouse viene visualizzata una scorciatoia.
  2. Cambia all'endpoint di analisi SQL del Lakehouse e trova una tabella SQL con un nome che corrisponde al nome del collegamento. Questa tabella SQL fa riferimento alla cartella in ADLS o S3.
  3. Eseguire una query sulla tabella SQL che fa riferimento ai dati in ADLS o S3. Usare la tabella come qualsiasi altra tabella nell'endpoint di analisi SQL. È possibile unire tabelle che fanno riferimento ai dati in account di archiviazione diversi.

Note

Se la tabella SQL non viene visualizzata immediatamente nell'endpoint di analisi SQL, 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. Archiviare set di dati partizionati in strutture di cartelle gerarchica nel formato /year=<year>/month=<month>/day=<day>, dove year, monthe day sono le colonne di partizionamento. Questa struttura mantiene i dati cronologici separati logicamente e 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 all'interno.

I dati partizionati consentono un accesso più rapido se le query filtrano sui 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 usando tabelle esterne, un endpoint di analisi SQL può leggere le tabelle Delta Lake partizionate come tabelle SQL e consentire all'organizzazione di analizzarle. Questo approccio riduce il costo totale di proprietà, riduce la duplicazione dei dati e illumina Big Data, intelligenza artificiale e altri scenari di analisi.

È anche possibile usare query di spostamento del tempo per eseguire rapidamente query sulle versioni precedenti dei dati. Il viaggio in tempo è una funzionalità a basso costo ed efficiente per eseguire query sugli stati precedenti dei dati con query T-SQL. Per un endpoint di analisi SQL di Lakehouse, il tempo di spostamento è limitato dalle impostazioni di conservazione del vuoto. Per iniziare, vedere Procedura: Eseguire query usando il tempo di spostamento a livello di istruzione.

Virtualizzazione dei dati di Fabric con scorciatoie

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 è solo aggiunta, i dati della tabella vengono esposti come i dati di Delta Lake in OneLake. I collegamenti rapidi consentono di fare riferimento alle cartelle in qualsiasi OneLake dove le tabelle del Warehouse sono disponibili.

Condivisione ed esecuzione di query tra più 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 tasti di scelta rapida, gli utenti possono trovare tutti i dati di Warehouse o Lakehouse. Gli utenti possono eseguire immediatamente analisi personalizzate dagli stessi dati condivisi. Oltre ad agevolare gli addebiti interni tra reparti e l'allocazione dell'uso, questo approccio fornisce una versione zero-copy dei dati.

L'endpoint di analisi SQL consente l'esecuzione di query su qualsiasi tabella e una facile condivisione. È possibile aggiungere controlli usando ruoli dell'area di lavoro e ruoli di sicurezza 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. Quando si seleziona 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. È possibile usare la tabella come qualsiasi altra tabella nell'endpoint di analisi SQL. È possibile unire le tabelle che fanno riferimento ai dati in aree di lavoro diverse.

Per altre informazioni sulla sicurezza nell'endpoint di analisi SQL, vedere Sicurezza di OneLake per gli endpoint di analisi SQL.

Note

Se la tabella SQL non viene visualizzata immediatamente nell'endpoint di analisi SQL, 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 in 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 usano 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.

Per altre informazioni ed esempi sull'esecuzione di query su dati esterni, vedere Eseguire query su file data lake esterni usando Fabric Data Warehouse o endpoint di analisi SQL. Per un esempio e un caso d'uso per interrogare file Parquet partizionati, vedi Query sui dati partizionati.

Analizzare dati in Lakehouse, Warehouse o Eventhouse

Le pagine principali di Lakehouse e Warehouse includono l'endpoint Eventhouse come parte del menu Analizza dati con. L'endpoint Eventhouse offre un'esperienza di query basata su Eventhouse direttamente sui dati di Lakehouse e Warehouse, senza duplicazione dei dati o sincronizzazione manuale.

Screenshot del pulsante Analizza dati con espanso per visualizzare le opzioni endpoint di analisi SQL e Endpoint Eventhouse.

Quando si abilita l'endpoint Eventhouse, una Eventhouse e un database KQL vengono creati automaticamente come elementi figlio del Lakehouse o Warehouse di origine, con la sincronizzazione dello schema gestita sullo sfondo. L'endpoint riflette sempre lo schema corrente dei dati di origine, abilitando l'accesso analitico quasi in tempo reale.

Questa integrazione rende Eventhouse un'estensione naturale dell'origine dati, anziché un sistema separato da configurare e gestire. Per ulteriori informazioni sull'endpoint Eventhouse, vedere Abilitare l'endpoint Eventhouse per Lakehouse e Warehouse.