Gestire la potenza di calcolo in Azure SQL Data Warehouse (Panoramica)

L'architettura di SQL Data Warehouse separa le risorse di archiviazione e calcolo consentendo a entrambe di eseguire il ridimensionamento in modo indipendente. Pertanto, è possibile ridimensionare il calcolo per soddisfare le richieste di prestazioni, a prescindere dalla quantità di dati. Come conseguenza logica di questa architettura, la fatturazione è separata per calcolo e archiviazione.

Questa panoramica descrive il funzionamento della scalabilità orizzontale con SQL Data Warehouse e come usare le funzionalità di sospensione, ripresa e ridimensionamento di SQL Data Warehouse. Vedere la pagina sulle Unità Data Warehouse (DWU) per altre informazioni sulla correlazione tra DWU e prestazioni.

Funzionamento delle operazioni di gestione del calcolo in SQL Data Warehouse

L'architettura di SQL Data Warehouse consiste in un nodo di controllo, nodi di calcolo e di un livello di archiviazione suddiviso in 60 distribuzioni.

Durante una normale sessione attiva in SQL Data Warehouse, il nodo head del sistema gestisce i metadati e contiene l'ottimizzazione delle query distribuite. Al di sotto del nodo head si trovano i nodi di calcolo e il livello di archiviazione. Considerando 400 DWU, il sistema dispone di un nodo head, di quattro nodi di calcolo e del livello di archiviazione, per 60 distribuzioni.

Quando si eseguono operazioni di ridimensionamento o sospensione, il sistema termina innanzitutto le query in entrata, quindi esegue il rollback delle transazioni per garantire la coerenza. Per le operazioni di scalabilità, quest'ultima si verificherà solamente al completamento del rollback di transazione. Per le operazioni di scalabilità verticale con aumento di prestazioni, il sistema esegue il provisioning del numero di nodi di calcolo aggiuntivi desiderati, quindi inizia a ricollegare i nodi di calcolo al livello di archiviazione. Per un'operazione di scalabilità verticale con diminuzione delle prestazioni, i nodi non più necessari vengono rilasciati e quelli rimanenti si ricollegano al numero appropriato di distribuzioni. Per un'operazione di sospensione, vengono rilasciati tutti i nodi di calcolo e nel sistema vengono eseguite varie operazioni di metadati per lasciarlo in uno stato stabile.

DWU # di nodi di calcolo # di distribuzioni per nodo
100 1 60
200 2 30
300 3 20
400 4 15
500 5 12
600 6 10
1000 10 6
1200 12 5
1500 15 4
2000 20 3
3000 30 2
6000 60 1

Le tre funzioni principali per la gestione del calcolo sono:

  1. Sospendi
  2. Riprendi
  3. Scalabilità

Ciascuna di queste operazioni può richiedere alcuni minuti. In caso di operazioni automatiche di ridimensionamento/sospensione/ripresa, si potrebbe voler implementare la logica per assicurare il completamento di determinate operazioni prima di procedere con altre.

Verificando lo stato del database in vari endpoint sarà possibile implementare correttamente l'automazione di tali operazioni. Il portale invierà notifiche una volta completata un'operazione e indicherà lo stato corrente del database. Tuttavia non è possibile verificare lo stato in maniera programmatica.

Nota

La funzionalità di gestione del calcolo non è presente in tutti gli endpoint.

Sospensione/ripresa Scalabilità Controllare lo stato del database
Portale di Azure No
PowerShell
API REST
T-SQL No

Ridimensionare le risorse di calcolo

Le prestazioni in SQL Data Warehouse vengono misurate in Unità Data Warehouse (DWU), una misura astratta delle risorse di calcolo come CPU, memoria e larghezza di banda I/O. Un utente che desidera aumentare le prestazioni del sistema può farlo in vari modi, ad esempio tramite il portale, T-SQL e le API REST.

In che modo è possibile ridimensionare le risorse di calcolo?

La potenza di calcolo è gestita da SQL Data Warehouse modificando l'impostazione DWU. Le prestazioni aumentano in modo lineare man mano che si aggiungono più DWU per determinate operazioni. Esistono varie offerte di DWU per assicurare un cambiamento netto delle prestazioni durante il ridimensionamento verticale del sistema.

Per modificare le DWU, è possibile usare uno di questi metodi singoli.

Quante DWU è consigliabile usare?

Per comprendere il valore di DWU ideale, provare ad aumentarlo e diminuirlo ed eseguire alcune query dopo il caricamento dei dati. Poiché il ridimensionamento è rapido, è possibile provare diversi livelli di prestazioni in un'ora o meno.

Nota

SQL Data Warehouse è progettato per elaborare grandi quantità di dati. Per constatarne le reali funzionalità di ridimensionamento, specialmente per DWU di dimensioni maggiori, si consiglia di usare un set di dati di grandi dimensioni, possibilmente 1 TB o più.

Raccomandazioni per individuare l'impostazione DWU più adatta al proprio carico di lavoro:

  1. Per un data warehouse in sviluppo, iniziare con un numero più limitato di prestazioni DWU. Un buon punto di partenza è DW400 o DW200.
  2. Monitorare le prestazioni dell'applicazione, osservare che il numero di DWUs selezionato in relazione alle prestazioni che si osservano.
  3. Determinare di quanto si vogliono aumentare o ridurre le prestazioni per raggiungere il livello ottimale per i propri requisiti presupponendo una scalabilità lineare.
  4. Aumentare o diminuire il numero di DWU proporzionalmente alla velocità desiderata per le prestazioni del proprio carico di lavoro.
  5. Continuare ad apportare modifiche finché non si raggiunge un livello di prestazioni ottimale per i propri requisiti aziendali.

Nota

Le prestazioni delle query aumentano con maggiore parallelizzazione solo se il lavoro può essere suddivise tra i nodi di calcolo. Se si ritiene che la scalabilità non stia modificando le prestazioni, si consiglia di leggere gli articoli sull'ottimizzazione di queste ultime per verificare qualora i dati siano distribuiti in modo ineguale o se si stiano introducendo grandi quantità di movimenti di dati.

Quando è necessario ridimensionare le DWU?

Il ridimensionamento delle DWU modifica i seguenti scenari importanti:

  1. Modifica lineare delle prestazioni del sistema per le analisi, l'aggregazione e le istruzioni CTAS
  2. Aumento del numero di lettori e writer durante il caricamento con PolyBase
  3. Numero massimo di query simultanee e slot di concorrenza

Raccomandazioni sul momento più indicato per il ridimensionamento delle DWU:

  1. Prima di eseguire un'operazione di caricamento o trasformazione di quantità di dati elevate, ridimensionare le DWU in modo che i dati siano disponibili più rapidamente.
  2. Durante le ore lavorative più intense, eseguire il ridimensionamento per poter ricevere un numero maggiori di query simultanee.

Sospendere il calcolo

Per ridurre i costi, è possibile sospendere e riprendere le risorse di calcolo su richiesta. Ad esempio, se non si usa il database durante la notte e nei fine settimana, è possibile sospenderlo in questi intervalli di tempo e riprenderne l'esecuzione durante il giorno. Mentre il database è sospeso, non verranno addebitate DWU.

Quando si sospende un database:

  • Le risorse di calcolo e memoria vengono restituite al pool di risorse disponibili nel data center.
  • I costi delle DWU sono pari a zero per la durata della pausa.
  • L'archivio dati non è interessato e i dati rimangano invariati.
  • SQL Data Warehouse annulla tutte le operazioni in esecuzione o in coda.

Per sospendere un database, usare uno di questi metodi singoli.

Riavviare le risorse di calcolo

Quando si riattiva un database:

  • SQL Data Warehouse acquisisce risorse di calcolo e di memoria per l'impostazione DWU.
  • Verranno ripresi gli addebiti per le ore di calcolo di DWU.
  • I dati saranno disponibili.
  • Sarà necessario riavviare le query del carico di lavoro.

Per riavviare un database, usare uno di questi metodi singoli.

Controllare lo stato del database

Per riavviare un database, usare uno di questi metodi singoli.

autorizzazioni

Il ridimensionamento del database richiede le autorizzazioni descritte in ALTER DATABASE. La sospensione e la ripresa richiedono l'autorizzazione Collaboratore Database SQL, in particolare Microsoft.Sql/servers/databases/action.

Passaggi successivi

Per comprendere più facilmente altri concetti importanti sulle prestazioni, vedere gli articoli seguenti: