Condividi tramite


Comportamento di dimensionamento, scalabilità e accodamento del warehouse SQL

Questo articolo illustra il ridimensionamento, l'accodamento e il comportamento di scalabilità automatica dei warehouse SQL.

Dimensionamento di un sql warehouse serverless

Iniziare sempre con una t-shirt più grande per il serverless SQL Warehouse di quanto si pensi che sarà necessario e ridimensionare durante il test. Non iniziare con una piccola t-shirt per il tuo serverless SQL Warehouse e salire. In generale, iniziare con un singolo sql warehouse serverless e affidarsi ad Azure Databricks alle dimensioni corrette con cluster serverless, assegnando priorità ai carichi di lavoro e letture rapide dei dati. Vedere Ridimensionamento automatico serverless e accodamento delle query.

  • Per ridurre la latenza di query per un determinato sql warehouse serverless:
    • Se le query vengono distribuite su disco, aumentare le dimensioni della maglietta.
    • Se le query sono altamente parallelizzabili, aumentare le dimensioni della maglietta.
    • Se si eseguono più query alla volta, aggiungere altri cluster per la scalabilità automatica.
  • Per ridurre i costi, provare a ridurre le dimensioni della t-shirt senza distribuire su disco o aumentare significativamente la latenza.
  • Per semplificare le dimensioni corrette di SQL Warehouse serverless, usare gli strumenti seguenti:
    • Pagina monitoraggio: esaminare il numero massimo di query. Se il picco in coda è comunemente superiore a uno, aggiungere cluster. Il numero massimo di query in una coda per tutti i tipi di warehouse SQL è 1000. Vedere Monitorare un'istanza di SQL Warehouse.
    • Cronologia query. Vedere Cronologia query.
    • Profili di query (cercare byte spillati su disco superiore a 1). Vedere Profilo di query.

Nota

Per i data warehouse SQL serverless, le dimensioni del cluster possono in alcuni casi usare tipi di istanza diversi rispetto a quelli elencati nella documentazione per i data warehouse SQL classici e pro per dimensioni equivalenti del cluster. In generale, il rapporto prezzo/prestazioni delle dimensioni del cluster per i warehouse SQL serverless è simile a quello per i warehouse SQL pro e classici.

Accodamento automatico senza server e accodamento delle query

Intelligent Workload Management (IWM) è un set di funzionalità che migliorano la capacità dei warehouse SQL serverless di elaborare un numero elevato di query in modo rapido e conveniente. Usando le funzionalità di stima basate sull'intelligenza artificiale per analizzare le query in ingresso e determinare la quantità di risorse più veloce e più efficiente (I/O predittiva), IWM funziona per garantire che i carichi di lavoro abbiano rapidamente la giusta quantità di risorse. La differenza principale consiste nelle funzionalità di intelligenza artificiale in Databricks SQL per rispondere in modo dinamico alle richieste del carico di lavoro anziché usare soglie statiche.

Questa velocità di risposta garantisce:

  • Scalabilità rapida per acquisire più calcolo quando necessario per mantenere bassa latenza.
  • Ammissione di query più vicina alla limitazione dell'hardware.
  • Ridimensionamento rapido per ridurre al minimo i costi quando la domanda è bassa, offrendo prestazioni coerenti con costi e risorse ottimizzati.

Quando una query arriva al warehouse, IWM stima il costo della query. Allo stesso tempo, IWM monitora in tempo reale la capacità di calcolo disponibile del magazzino. Successivamente, usando i modelli di Machine Learning, IWM stima se la query in ingresso ha il calcolo necessario disponibile nel calcolo esistente. Se non è necessario il calcolo, la query viene aggiunta alla coda. Se il calcolo è necessario, la query inizia immediatamente a essere eseguita.

IWM monitora la coda viene monitorata circa ogni 10 secondi. Se la coda non diminuisce abbastanza rapidamente, la scalabilità automatica viene avviata per ottenere rapidamente più risorse di calcolo. Dopo aver aggiunto una nuova capacità, le query in coda vengono ammesse ai nuovi cluster. Con i data warehouse SQL serverless è possibile aggiungere rapidamente nuovi cluster e creare più cluster alla volta. Il numero massimo di query in una coda per tutti i tipi di warehouse SQL è 1000.

Dimensioni del cluster per i data warehouse SQL pro e classici

La tabella in questa sezione esegue il mapping delle dimensioni del cluster SQL Warehouse alle dimensioni del driver del cluster di Azure Databricks e ai conteggi dei ruoli di lavoro. Le dimensioni del driver si applicano solo ai data warehouse SQL pro e classici.

Dimensioni del cluster Tipo di istanza per il driver (si applica solo ai data warehouse SQL pro e classici) Conteggio ruoli di lavoro
2X-Small Standard_E8ds_v4 1 x Standard_E8ds_v4
X-Small Standard_E8ds_v4 2 x Standard_E8ds_v4
Piccola Standard_E16ds_v4 4 x Standard_E8ds_v4
Medio Standard_E32ds_v4 8 x Standard_E8ds_v4
Grande Standard_E32ds_v4 16 x Standard_E8ds_v4
X-Large E64ds_v4 Standard 32 x Standard_E8ds_v4
2X-Large E64ds_v4 Standard 64 x Standard_E8ds_v4
3X-Large E64ds_v4 Standard 128 x Standard_E8ds_v4
4X-Large E64ds_v4 Standard 256 x Standard_E8ds_v4

La dimensione dell'istanza di tutti i ruoli di lavoro è Standard_E8ds_v4.

Ogni driver e ruolo di lavoro dispone di otto dischi gestiti di archiviazione con ridondanza locale Standard collegati. I dischi collegati vengono addebitati ogni ora.

Quota vCPU di Azure necessaria per i warehouse SQL classici e pro

Per avviare un'istanza classica o pro di SQL Warehouse, è necessario disporre di una quota di VCPU di Azure adeguata per le istanze di Standard_E8ds_v4 nell'account Azure. Usare le linee guida seguenti per determinare la quota di vCPU necessaria:

  • Se sono presenti solo uno o due warehouse SQL, assicurarsi di avere 8 vCPU di Azure disponibili per ogni core nel cluster. In questo modo si garantisce un'adeguata vCPU di Azure per tenere conto del nuovo provisioning del magazzino che avviene approssimativamente ogni 24 ore. Se i warehouse SQL usano il ridimensionamento automatico o il bilanciamento del carico multi-cluster, potrebbe essere necessario aumentare il moltiplicatore.
  • Man mano che aumenta il numero di warehouse SQL, è possibile usare una vCPU di Azure compresa tra 4 e 8 per ogni core nel cluster. Databricks consiglia di iniziare con un numero maggiore e un monitoraggio maggiore per la stabilità.
  • Le vCPU di Azure usate dai data warehouse si aggiungono alle vCPU di Azure usate dai cluster usati da Data Science & Engineering o da carichi di lavoro non Databricks.

Per richiedere una quota aggiuntiva di VCPU di Azure, vedere Quota standard: Aumentare i limiti per serie di macchine virtuali nella documentazione di Azure.

Nota

Le informazioni contenute in questa tabella possono variare in base alla disponibilità del prodotto o dell'area geografica e al tipo di area di lavoro.

Accodamento e scalabilità automatica per i data warehouse SQL classici e pro

Azure Databricks limita il numero di query in un cluster assegnato a un sql warehouse in base al costo per calcolare i risultati. L'upscaling dei cluster per ogni warehouse si basa sulla velocità effettiva delle query, sulla velocità delle query in ingresso e sulle dimensioni della coda. Azure Databricks consiglia un cluster per ogni 10 query simultanee. Il numero massimo di query in una coda per tutti i tipi di warehouse SQL è 1000.

Azure Databricks aggiunge cluster in base al tempo necessario per elaborare tutte le query attualmente in esecuzione, tutte le query in coda e le query in ingresso previste nei due minuti successivi.

  • Se meno di 2 minuti, non di lusso.
  • Se da 2 a 6 minuti, aggiungere 1 cluster.
  • Se da 6 a 12 minuti, aggiungere 2 cluster.
  • Se da 12 a 22 minuti, aggiungere 3 cluster.

In caso contrario, Azure Databricks aggiunge 3 cluster più 1 per ogni ulteriore 15 minuti di caricamento previsto delle query.

Inoltre, un magazzino è sempre di alto livello se una query attende 5 minuti nella coda.

Se il carico è basso per 15 minuti, Azure Databricks riduce il carico di SQL Warehouse. Mantiene un numero sufficiente di cluster per gestire il carico di picco negli ultimi 15 minuti. Ad esempio, se il carico massimo è di 25 query simultanee, Azure Databricks mantiene 3 cluster.

Accodamento di query per i data warehouse SQL classici e pro

Azure Databricks accoda query quando tutti i cluster assegnati al warehouse eseguono query con capacità completa o quando il warehouse si trova nello STARTING stato. Il numero massimo di query in una coda per tutti i tipi di warehouse SQL è 1000.

Le query di metadati (ad esempio , DESCRIBE <table>) e le query di modifica dello stato (ad esempio SET) non vengono mai accodate, a meno che il warehouse non si trovi nello STARTING stato .