Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Si applica a:✅ endpoint di analisi SQL e magazzino dati in Microsoft Fabric
I pool SQL personalizzati consentono agli amministratori di avere maggiore controllo sul modo in cui le risorse di calcolo back-end vengono allocate al proprio warehouse e all'endpoint di analisi SQL in un'area di lavoro.
Fabric Data Warehouse offre una gestione autonoma del carico di lavoro che separa le risorse di calcolo in "pool SQL" interni che vengono ridimensionati in modo indipendente in base alla richiesta.
Per impostazione predefinita, i limiti di isolamento sono l'inserimento (SELECT tipi di istruzioni non) e l'elaborazione di query (SELECT istruzioni). Con i pool SQL personalizzati, gli amministratori possono:
- Modificare il numero di limiti di isolamento (aggiungere altri pool SQL personalizzati).
- Creare classificazioni del carico di lavoro personalizzate specifiche del nome dell'applicazione.
- Controllare l'allocazione delle risorse di ogni pool tramite una percentuale massima di risorse.
Casi d'uso di pool SQL personalizzati
I pool SQL personalizzati hanno due casi d'uso principali: proteggere i carichi di lavoro dalla concorrenza delle risorse e proteggere dallo strozzamento della capacità di Fabric da un consumo elevato.
Carichi di lavoro concorrenti con i pool di carico di lavoro autonomi
Questo scenario si applica quando i carichi di lavoro distinti competono per le risorse, causando il mancato raggiungimento degli obiettivi di prestazioni dei carichi di lavoro critici.
Scenario di esempio
- Un carico di lavoro per la creazione di report aziendali viene eseguito in modo subottimale quando le query utente adhoc vengono eseguite dall'editor di query SQL nel portale di Fabric.
Approccio consigliato
- Suddividere questi carichi di lavoro in due pool SQL personalizzati separati.
- Allocare una percentuale maggiore di risorse al pool che gestisce l'applicazione di report aziendale, assicurandosi che siano disponibili più risorse per l'applicazione business critical.
Riduzione della capacità per consumo elevato
Questo scenario si applica quando l'elevato consumo della capacità del Fabric causa un controllo del flusso che provoca una riduzione delle prestazioni complessive del magazzino.
Scenario di esempio
- Più carichi di lavoro di analisi stanno utilizzando un numero elevato di unità di capacità di Fabric (CUs).
Approccio consigliato
- Ridurre la percentuale totale di risorse allocate al magazzino interessato.
- Monitorare se questa modifica riduce lo strozzamento delle query e migliora le prestazioni generali.
Differenze tra la gestione autonoma del carico di lavoro e i pool SQL personalizzati
| Argomento | Gestione autonoma del carico di lavoro | Pool SQL personalizzati |
|---|---|---|
| Configurazione | Nessuno (fuori scatola) | - Interfaccia utente Web - API |
| Autorizzazioni | N/A | Amministratore dell'area di lavoro |
| Ambito | Area di lavoro - include l'endpoint del magazzino e l'endpoint di analisi SQL | Area di lavoro: include sia l'endpoint di warehouse sia l'endpoint di analisi SQL |
| Metodo di classificazione | Tipo di dichiarazione (SELECT o altro) |
- Nome applicazione - Espressione regolare del nome dell'applicazione |
| Unità di misura | N/A | Percentuale dei nodi back-end totali |
| SQL Pools |
SELECT o altro |
Allocazione definita dall'utente |
| Capacità espandibile | Gestito da Fabric (fino a 12 volte per pool SQL, totale 24 volte) | Definito dall'utente in base alla percentuale di nodi back-end allocati. La quantità totale di risorse è ancora 24 volte. |
Capacità espandibile
I pool SQL personalizzati consentono a un amministratore di configurare la percentuale massima di risorse come quantità di risorse di calcolo che possono essere allocate. Il fattore di burst delle dimensioni dello SKU della capacità verrà applicato e usato per la percentuale specificata per ogni pool.
Classificatori
Un classificatore è un attributo di una richiesta SQL che informa il sistema come indirizzare al pool SQL appropriato.
Fabric Data Warehouse offre tre modi per classificare le richieste:
| Tipo di classificatore | Descrizione | Configurazione |
|---|---|---|
| Tipo di dichiarazione | Classifica le richieste in SELECT (query) o non-SELECT (tutte le istruzioni DML, DDL) |
Solo gestione autonoma del carico di lavoro |
| Nome applicazione | - App (o nome programma) usata nella stringa di connessione durante la connessione all'endpoint di Fabric Warehouse o analisi SQL. - Supporta più nomi di applicazione per ogni pool SQL personalizzato - 128 caratteri o meno - Sono mutuamente esclusivi tra i pool SQL personalizzati |
Pool SQL personalizzati solo. |
| Espressione regolare del nome dell'applicazione | - Espressione regolare usata per trovare la corrispondenza del valore per il nome dell'applicazione. - Solo il primo valore nell'elenco viene valutato per l'espressione regolare |
Pool SQL personalizzati solamente |
Istruzioni:
- È possibile usare un solo tipo di classificatore per area di lavoro. Tutti i pool SQL personalizzati in una singola area di lavoro devono usare lo stesso classificatore.
- Nel caso di un classificatore di espressioni regolari per il nome dell'applicazione, se una richiesta soddisfa due o più classificazioni, la selezione del pool SQL personalizzato è casuale e non esistono criteri di definizione delle priorità.
Autorizzazioni
- I membri del ruolo dell'area di lavoro Amministratore possono abilitare o disabilitare pool SQL personalizzati per un'area di lavoro.
- I membri del ruolo dell'area di lavoro Amministratore possono aggiornare le configurazioni personalizzate del pool SQL.
Configurare pool SQL personalizzati
È possibile configurare pool SQL personalizzati in Fabric Data Warehouse nel portale di Infrastruttura o tramite chiamate API.
- Per un esempio di configurazione nel portale di Infrastruttura, vedere Configurare pool SQL personalizzati nel portale di Infrastruttura.
- Per un esempio di uso dell'API REST pool SQL, vedere Come configurare pool SQL personalizzati usando l'API REST di Infrastruttura.
Monitor
È possibile visualizzare il nome dell'applicazione e il pool SQL registrati per una query nei campi program_name e sql_pool_name della visualizzazione di sistema queryinsights.exec_requests_history.
È possibile usare program_name come nome dell'applicazione in un classificatore o in un modello di espressione regolare per un classificatore di nomi dell'applicazione.
Ad esempio, per trovare tutti i program_name e i corrispondenti sql_pool_name nella cronologia recente:
SELECT DISTINCT
program_name
,sql_pool_name
FROM queryinsights.exec_requests_history;
È possibile identificare quali SQL pool sono sotto pressione eseguendo una query sul queryinsights.sql_pool_insights view.
Ad esempio, trovare periodi di tempo in cui un pool era sotto pressione nell'ultima settimana.
SELECT [timestamp]
,sql_pool_name
,max_resource_percentage
,is_pool_under_pressure
FROM queryinsights.sql_pool_insights
WHERE is_pool_under_pressure = 1
AND [timestamp] > DATEADD(WEEK, -1, GETDATE())
ORDER BY [timestamp] DESC, sql_pool_name;
Per aggregare program_name i valori in base ad alcune metriche dei costi di query, è possibile usare la query seguente:
SELECT
program_name,
sql_pool_name,
[CPU] = SUM(allocated_cpu_time_ms),
[Disk] = SUM(data_scanned_disk_mb),
[Memory] = SUM(data_scanned_memory_mb),
[Remote storage] = SUM(data_scanned_remote_storage_mb)
FROM queryinsights.exec_requests_history
GROUP BY program_name, sql_pool_name
ORDER BY [CPU] desc, [Disk] desc, [Memory] desc, [Remote storage] desc;
Limitazioni
- Un'area di lavoro deve contenere uno o più warehouse o endpoint di analisi SQL prima di eseguire le API.
- È possibile creare fino a otto pool SQL personalizzati per ogni area di lavoro.
- "Quando un pool SQL personalizzato viene rimosso mentre una query è in esecuzione nel pool, la query avrà esito negativo con un messaggio di errore. Il ridimensionamento di un pool SQL personalizzato non causa l'errore della query."
Modifiche alla dimensione della capacità del fabric
Ogni area di lavoro ha una capacità con unità di capacità associate in base allo SKU acquistato. La capacità burstable dei pool SQL personalizzati dipende dalle dimensioni dello SKU. Pertanto, quando si modifica la capacità, si influisce sulla quantità massima di risorse per ogni pool SQL personalizzato.
Quando si modificano le dimensioni dello SKU della capacità o si assegna una capacità diversa a un'area di lavoro, se i pool SQL personalizzati vengono abilitati vengono ridimensionati automaticamente alle nuove dimensioni dello SKU.
Se il ridimensionamento forza un pool SQL a zero nodi assegnati, viene visualizzato l'errore seguente in fase di esecuzione: "Il pool SQL assegnato per questa query non dispone di risorse e deve essere riconfigurato". Un amministratore deve riconfigurare i pool SQL personalizzati per rimuovere questo errore.