Gestione dei carichi di lavoro
Si applica a: SQL Endpoint and Warehouse in Microsoft Fabric
Questo articolo descrive l'architettura e la gestione del carico di lavoro dietro il data warehousing in Microsoft Fabric.
Importante
Microsoft Fabric è attualmente disponibile in ANTEPRIMA. Queste informazioni si riferiscono a un prodotto in versione preliminare che può essere modificato in modo sostanziale prima del rilascio. Microsoft non fornisce alcuna garanzia, espressa o implicita, rispetto alle informazioni fornite qui.
Elaborazione dati
L'endpoint SQL e warehouse condividono 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 tale 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. Ogni query di piccole dimensioni viene chiamata attività e rappresenta un'unità di esecuzione distribuita. Legge i file da OneLake, unisce i risultati di altre attività, gruppi o ordini 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 veloce. Anche se non è presente alcun contratto di servizio per l'assegnazione delle risorse, in genere i nuovi nodi vengono acquisiti entro pochi secondi. Con l'aumentare della domanda di risorse, i nuovi carichi di lavoro sfruttano la capacità con scalabilità orizzontale. 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.
Pianificazione e resourcing
L'utilità di pianificazione per l'elaborazione di 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 perché le attività che non dipendono l'una dall'altra possono essere eseguite simultaneamente o non in ordine.
Quando arrivano le query, le attività vengono pianificate in base ai principi FIFO (First-In-First-Out). Se la capacità è inattiva, l'utilità di pianificazione può usare un approccio "più adatto" per ottimizzare la concorrenza.
Quando l'utilità di pianificazione identifica la pressione di resourcing, 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 sottosecondo coerenti delle query che richiedono l'elaborazione distribuita.
Quando la pressione diminuisce, la topologia back-end riduce le prestazioni 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 le attività di caricamento vengono fornite 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.
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 a 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.