Gestione dei carichi di lavoro
Si applica a:✅ endpoint di Analisi SQL e Warehouse in Microsoft Fabric
Questo articolo descrive l'architettura e la gestione del carico di lavoro dietro il data warehousing in Microsoft Fabric.
Elaborazione dati
L'endpoint di analisi di Warehouse e SQL condivide la stessa architettura di elaborazione sottostante. Man mano che i dati vengono recuperati o inseriti, sfrutta un motore distribuito creato per dati di piccole e grandi dimensioni e funzioni di calcolo.
Il sistema di elaborazione è serverless in quanto la capacità di calcolo back-end aumenta e riduce in modo autonomo per soddisfare le esigenze del carico di lavoro.
Quando viene inviata una query, il front-end SQL esegue l'ottimizzazione delle query per determinare il piano migliore in base alle dimensioni e alla complessità dei dati. Dopo aver generato il piano, viene assegnato al motore DQP (Distributed Query Processing). Il DQP orchestra l'esecuzione distribuita della query suddividendola in query più piccole eseguite nei nodi di calcolo back-end. Ognuna delle query più piccole è definita attività e rappresenta un'unità di esecuzione distribuita. Tale attività legge i file nelle risorse di OneLake, unisce i risultati generati da altre attività e raggruppa o ordina i dati recuperati da altre attività. Per i processi di inserimento, scrive anche i dati nelle tabelle di destinazione appropriate.
Quando i dati vengono elaborati, i risultati vengono restituiti al front-end SQL per il servizio all'utente o all'applicazione chiamante.
Elasticità e resilienza
La capacità di calcolo back-end trae vantaggio da un'architettura di provisioning rapido. Anche se non esiste alcun contratto di servizio per l'assegnazione di risorse, in genere i nuovi nodi vengono acquisiti entro pochi secondi. Con l'aumentare della domanda di risorse, i nuovi carichi di lavoro usano la capacità con scale-out. Il ridimensionamento è un'operazione online e l'elaborazione delle query non viene interrotta.
Il sistema è a tolleranza di errore e se un nodo diventa non integro, le operazioni in esecuzione nel nodo vengono ridistribuite ai nodi integri per il completamento.
L'endpoint di analisi SQL e warehouse offre possibilità di burst che consente ai carichi di lavoro di usare più risorse per ottenere prestazioni migliori e di usare lo smoothing per offrire sollievo ai clienti che creano picchi improvvisi durante i periodi di punta, mentre hanno una grande capacità inattiva inutilizzata. Lo smoothing semplifica la gestione della capacità distribuendo la valutazione del calcolo per garantire che i processi dei clienti vengano eseguiti in modo uniforme ed efficiente.
Pianificazione e allocazione delle risorse
L'utilità di pianificazione dell'elaborazione delle query distribuite opera a livello di attività. Le query vengono rappresentate all'utilità di pianificazione come grafico aciclico diretto (DAG) di attività. Questo concetto è familiare agli utenti di Spark. Un DAG consente il parallelismo e la concorrenza come attività che non dipendono l'una dall'altra possono essere eseguite simultaneamente o fuori ordine.
Quando arrivano le query, le attività vengono pianificate in base ai principi FIFO (First-In-First-Out). Se è presente una capacità inattiva, l'utilità di pianificazione potrebbe usare un approccio "più adatto" per ottimizzare la concorrenza.
Quando l'utilità di pianificazione identifica l'utilizzo di risorse, richiama un'operazione di ridimensionamento. Il ridimensionamento viene gestito in modo autonomo e la topologia back-end aumenta man mano che aumenta la concorrenza. Poiché l'acquisizione dei nodi richiede alcuni secondi, il sistema non è ottimizzato per prestazioni di frazione di secondo coerenti delle query che richiedono l'elaborazione distribuita.
Quando la pressione diminuisce, la topologia back-end riduce e rilascia nuovamente la risorsa nell'area.
Isolamento inserimento
Si applica a✅: warehouse in Microsoft Fabric
Nel pool di calcolo back-end di Warehouse in Microsoft Fabric insieme alle attività di caricamento viene fornito l'isolamento delle risorse dai carichi di lavoro analitici. Ciò migliora le prestazioni e l'affidabilità, poiché i processi di inserimento possono essere eseguiti in nodi dedicati ottimizzati per ETL e non competono con altre query o applicazioni per le risorse.
Sessioni
L'endpoint di analisi di Warehouse e SQL ha un limite di sessione utente di 724 per area di lavoro. Quando viene raggiunto questo limite, verrà restituito un errore: The user session limit for the workspace is 724 and has been reached
.
Nota
Poiché Microsoft Fabric è una piattaforma SaaS, esistono molte connessioni di sistema eseguite per ottimizzare continuamente l'ambiente. Le DMV mostrano sessioni di sistema e utente. Per altre informazioni, vedere Monitorare usando DMV.
Procedure consigliate
L'area di lavoro di Microsoft Fabric fornisce un limite di isolamento naturale del sistema di calcolo distribuito. I carichi di lavoro possono sfruttare questo limite per gestire sia i costi che le prestazioni.
I collegamenti OneLake possono essere usati per creare repliche di sola lettura di tabelle in altre aree di lavoro per distribuire il carico tra più motori SQL, creando un limite di isolamento. Ciò può aumentare in modo efficace il numero massimo di sessioni che eseguono query di sola lettura.