Condividi tramite


Comportamento di dimensionamento, scalabilità e accodamento del warehouse SQL

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

Panoramica delle dimensioni

I warehouse SQL sono disponibili in tipi serverless, pro e classici con diverse funzionalità di prestazioni e ottimizzazioni che possono influire sulle prestazioni delle query nel warehouse. Consultare i tipi di deposito SQL. Databricks consiglia di usare sql warehouse serverless quando disponibile.

Per qualsiasi tipo di magazzino, è possibile scegliere una dimensione del cluster per le sue risorse di calcolo. L'ottimizzazione delle dimensioni di Sql Warehouse di Databricks prevede più che considerare semplicemente il volume di dati o il numero di utenti. La complessità delle query e il numero di query simultanee sono anche fattori chiave delle prestazioni.

I magazzini SQL di Databricks usano la concorrenza dinamica per gestire queste richieste. A differenza dei warehouse con capacità statica, Databricks SQL regola le risorse di calcolo in tempo reale per gestire i carichi simultanei e ottimizzare la velocità effettiva. Ogni categoria di dimensioni del magazzino ha una capacità di calcolo fissa per unità, ma il sistema ridimensiona il numero di risorse per soddisfare esigenze diverse.

Dimensioni del cluster per gli archivi SQL

La tabella in questa sezione mappa le dimensioni del cluster del warehouse SQL alle dimensioni del driver del cluster di Azure Databricks e ai conteggi dei ruoli di lavoro. Le dimensioni del driver si applicano solo ai warehouse SQL professionali e classici.

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 relativa ai warehouse SQL pro e classici per le 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 professionali e classici.

Dimensione del cluster Tipo di istanza per il driver (si applica solo ai warehouse SQL professionali e classici) Conteggio dei ruoli di lavoro
2X-Small Standard_E8ds_v4 1 x Standard_E8ds_v4
X-Small Standard_E8ds_v4 2 x Standard_E8ds_v4
Piccolo 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 da 128 GB di archiviazione con ridondanza locale Standard collegati. I dischi collegati vengono fatturati ogni ora.

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

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

Se hai solo uno o due SQL warehouse, verifica di avere disponibili 8 vCPU di Azure per ogni core nel cluster. In questo modo si garantisce un'adeguata vCPU di Azure per consentire il nuovo provisioning del magazzino, che si verifica approssimativamente ogni 24 ore. Potresti dover aumentare il moltiplicatore se i magazzini SQL utilizzano la scalabilità automatica o il bilanciamento del carico multicluster.

  • 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 monitorare la stabilità.
  • Le vCPU di Azure usate da SQL 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 VM 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 warehouse SQL classici e professionali

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

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 aumentare.
  • 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.

Altrimenti, Azure Databricks aggiunge 3 cluster più 1 cluster ogni 15 minuti aggiuntivi di caricamento previsto delle query.

Inoltre, un warehouse viene sempre aumentato se una query attende 5 minuti nella coda.

Se il carico è basso per 15 minuti, Azure Databricks riduce il carico del warehouse SQL. 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 e scalabilità automatica serverless delle query

La gestione intelligente dei carichi di lavoro (IWM) è un set di funzionalità che migliora la capacità dei warehouse SQL serverless di elaborare un numero elevato di query in modo rapido e conveniente. Gestisce dinamicamente i carichi di lavoro usando modelli di machine learning per prevedere le richieste di risorse delle query in ingresso durante il monitoraggio della capacità di calcolo disponibile del warehouse in tempo reale. Tenere traccia di questi e altri segnali nel magazzino consente a IWM di rispondere ai cambiamenti delle richieste del carico di lavoro.

Questa gestione dinamica consente a IWM di eseguire le operazioni seguenti:

  • Aumentare rapidamente il calcolo per mantenere una bassa latenza.
  • Fornire l'ammissione di query a velocità più vicine alla limitazione dell'hardware.
  • Diminuire rapidamente le dimensioni per ridurre al minimo i costi quando la domanda è bassa.

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

IWM monitora la coda in tempo reale. Se la coda non diminuisce abbastanza rapidamente, la scalabilità automatica effettua automaticamente il provisioning di ulteriori risorse di calcolo. Dopo l'aggiunta di nuova capacità, le query in coda vengono ammesse alle nuove risorse di calcolo. Con i warehouse SQL serverless, è possibile aggiungere rapidamente nuove risorse di calcolo. Il numero massimo di query in una coda per tutti i tipi di warehouse SQL è 1.000.

Dimensionare un warehouse SQL serverless

Iniziare con una dimensione maggiore per il data warehouse SQL serverless rispetto a quella che si pensa sia necessaria, e ridimensionare verso il basso man mano che si eseguono i test. Non iniziare con una dimensione ridotta per il tuo data warehouse SQL serverless e aumentare. In generale, iniziare con un singolo warehouse SQL serverless e affidarsi ad Azure Databricks per trovare la dimensione corretta con cluster serverless, dando priorità ai carichi di lavoro e alle letture rapide dei dati. Vedere Scalabilità automatica serverless e accodamento delle query.

  • Per ridurre la latenza di query per un determinato warehouse SQL serverless:
    • Se le query vengono distribuite su disco, aumentare le dimensioni.
    • Se le query sono altamente parallelizzabili, aumentare le dimensioni.
    • Se si eseguono più query alla volta, aggiungere più cluster per la scalabilità automatica.
  • Per ridurre i costi, provare a ridurre le dimensioni senza distribuire sul disco o aumentare significativamente la latenza.

Strumenti per monitorare e valutare le prestazioni

Per dimensionare correttamente il SQL Warehouse, 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 è 1.000. Vedere Monitorare un warehouse SQL.
  • Cronologia delle query. Vedere Cronologia delle query.
  • Profili di query (cercare byte distribuiti su disco superiore a 1). Vedere Profilo delle query.