De grootte bepalen, schalen en wachtrijgedrag van SQL-warehouse
In dit artikel wordt het gedrag van clustergrootten, wachtrijen en automatische schaalaanpassing van SQL-warehouses uitgelegd.
De grootte van een serverloos SQL-warehouse aanpassen
Begin altijd met een grotere t-shirtgrootte voor uw serverloze SQL Warehouse dan u denkt dat u het nodig hebt en de grootte lager zult hebben tijdens het testen. Begin niet met een kleine t-shirtgrootte voor uw serverloze SQL Warehouse en ga omhoog. Begin in het algemeen met één serverloze SQL-warehouse en vertrouw op Azure Databricks om de juiste grootte te geven aan serverloze clusters, workloads te prioriteren en snel gegevens te lezen. Zie Serverloze automatische schaalaanpassing en query's in de wachtrij plaatsen.
- De querylatentie voor een bepaald serverloze SQL Warehouse verlagen:
- Als query's overlopen op schijf, vergroot u de t-shirtgrootte.
- Als de query's zeer parallelleerbaar zijn, vergroot u de t-shirtgrootte.
- Als u meerdere query's tegelijk uitvoert, voegt u meer clusters toe voor automatisch schalen.
- Als u de kosten wilt verlagen, probeert u de t-shirtgrootte te verlagen zonder over te lopen naar schijf of een aanzienlijke toename van de latentie.
- Gebruik de volgende hulpprogramma's om de juiste grootte van uw serverloze SQL Warehouse te geven:
- Bewakingspagina: bekijk het piekaantal query's. Als de piek in de wachtrij meestal boven één ligt, voegt u clusters toe. Het maximum aantal query's in een wachtrij voor alle SQL-warehousetypen is 1000. Zie Een SQL-warehouse bewaken.
- Querygeschiedenis. Bekijk de querygeschiedenis.
- Queryprofielen (zoek naar bytes die naar schijf zijn overgeslagen boven 1). Zie Queryprofiel.
Notitie
Voor serverloze SQL-warehouses kunnen de clustergrootten in sommige gevallen verschillende exemplaartypen gebruiken dan de typen exemplaren die worden vermeld in de documentatie voor pro- en klassieke SQL-warehouses voor een equivalente clustergrootte. Over het algemeen is de prijs-/prestatieverhouding van de clustergrootten voor serverloze SQL-magazijnen vergelijkbaar met die voor pro- en klassieke SQL-magazijnen.
Serverloze automatische schaalaanpassing en query's in de wachtrij plaatsen
Intelligent Workload Management (IWM) is een set functies waarmee serverloze SQL Warehouses grote aantallen query's snel en rendabel kunnen verwerken. Het beheert workloads dynamisch met behulp van machine learning-modellen om de resourcevereisten van binnenkomende query's te voorspellen terwijl de beschikbare rekencapaciteit van het magazijn in realtime wordt bewaakt. Door deze en andere signalen in het magazijn bij te houden, kan IWM reageren op wijzigingen in de workloadvereisten.
Met dit dynamische beheer kan IWM het volgende doen:
- Snel omhoog schalende rekenkracht om lage latentie te behouden.
- Geef query-toegang op tegen tarieven die dichter bij de beperking van de hardware komen.
- Snel omlaag schalen om de kosten te minimaliseren wanneer de vraag laag is.
Wanneer een query binnenkomt in het magazijn, voorspelt IWM de kosten. Tegelijkertijd is IWM realtime bewaking van de beschikbare rekencapaciteit van het magazijn. Vervolgens voorspelt IWM met behulp van machine learning-modellen of de binnenkomende query de benodigde rekenkracht heeft die beschikbaar is voor de bestaande berekening. Als de rekenkracht niet nodig is, wordt de query toegevoegd aan de wachtrij. Als er wel rekenkracht nodig is, wordt de query onmiddellijk uitgevoerd.
IWM bewaakt de wachtrij ongeveer om de 10 seconden. Als de wachtrij niet snel genoeg afneemt, wordt automatisch schalen gestart om snel meer rekenkracht aan te schaffen. Nadat er nieuwe capaciteit is toegevoegd, worden in de wachtrij geplaatste query's toegelaten tot de nieuwe rekenresources. Met serverloze SQL-warehouses kunt u snel nieuwe berekeningen toevoegen. Het maximum aantal query's in een wachtrij voor alle SQL-warehousetypen is 1000.
Clustergrootten voor pro- en klassieke SQL-warehouses
De tabel in deze sectie wijst SQL Warehouse-clustergrootten toe aan azure Databricks-clusterstuurprogrammagrootte en aantal werkrollen. De stuurprogrammagrootte is alleen van toepassing op pro- en klassieke SQL-warehouses.
Grootte van cluster | Exemplaartype voor stuurprogramma (alleen van toepassing op pro- en klassieke SQL-warehouses) | Aantal werkrollen |
---|---|---|
2X-klein | Standard_E8ds_v4 | 1 x Standard_E8ds_v4 |
X-klein | Standard_E8ds_v4 | 2 x Standard_E8ds_v4 |
Klein | Standard_E16ds_v4 | 4 x Standard_E8ds_v4 |
Gemiddeld | Standard_E32ds_v4 | 8 x Standard_E8ds_v4 |
Groot | Standard_E32ds_v4 | 16 x Standard_E8ds_v4 |
X-groot | Standard_E64ds_v4 | 32 x Standard_E8ds_v4 |
2X-groot | Standard_E64ds_v4 | 64 x Standard_E8ds_v4 |
3X groot | Standard_E64ds_v4 | 128 x Standard_E8ds_v4 |
4x groot | Standard_E64ds_v4 | 256 x Standard_E8ds_v4 |
De instantiegrootte van alle werkrollen is Standard_E8ds_v4.
Elk stuurprogramma en elke werkrol heeft acht standard LRS-beheerde schijven van 128 GB. Gekoppelde schijven worden elk uur in rekening gebracht.
Vereist Azure vCPU-quotum voor klassieke en pro SQL-warehouses
Als u een klassiek of pro SQL Warehouse wilt starten, moet u voldoende Azure vCPU-quotum hebben voor Standard_E8ds_v4 exemplaren in uw Azure-account. Gebruik de volgende richtlijnen om het vereiste vCPU-quotum te bepalen:
- Als u slechts één of twee SQL-warehouses hebt, moet u ervoor zorgen dat er 8 Azure vCPU's beschikbaar zijn voor elke kern in het cluster. Dit zorgt ervoor dat u voldoende Azure vCPU hebt om rekening te houden met de herinrichting van uw magazijn dat ongeveer om de 24 uur plaatsvindt. Als uw SQL-warehouses automatisch schalen of taakverdeling voor meerdere clusters gebruiken, moet u mogelijk de vermenigvuldiger verhogen.
- Naarmate het aantal SQL-warehouses toeneemt, kunt u voor elke kern in het cluster tussen 4 en 8 Azure vCPU's toestaan. Databricks raadt aan om te beginnen met een groter aantal en bewaking voor stabiliteit.
- Azure vCPU's die worden gebruikt door SQL-warehouses, is een aanvulling op Azure vCPU's die worden gebruikt door clusters die worden gebruikt door Datawetenschap & Engineering of door niet-Databricks-workloads.
Als u extra Azure vCPU-quotum wilt aanvragen, raadpleegt u Standaardquotum: Limieten verhogen per VM-serie in de Azure-documentatie.
Notitie
De informatie in deze tabel kan variëren op basis van de beschikbaarheid van producten of regio's en het type werkruimte.
Wachtrijen en automatisch schalen voor pro- en klassieke SQL-warehouses
Azure Databricks beperkt het aantal query's op een cluster dat is toegewezen aan een SQL-warehouse op basis van de kosten voor het berekenen van de resultaten. Upscaling van clusters per magazijn is gebaseerd op querydoorvoer, de snelheid van binnenkomende query's en de wachtrijgrootte. Azure Databricks raadt een cluster aan voor elke 10 gelijktijdige query's. Het maximum aantal query's in een wachtrij voor alle SQL-warehousetypen is 1000.
Azure Databricks voegt clusters toe op basis van de tijd die nodig is voor het verwerken van alle actieve query's, alle query's in de wachtrij en de binnenkomende query's die in de komende twee minuten worden verwacht.
- Als u minder dan 2 minuten hebt, kunt u niet opschalen.
- Als het cluster 2 tot 6 minuten duurt, voegt u 1 cluster toe.
- Als 6 tot 12 minuten, voegt u 2 clusters toe.
- Als 12 tot 22 minuten, voegt u drie clusters toe.
Anders voegt Azure Databricks 3 clusters plus 1 cluster toe voor elke extra 15 minuten aan verwachte querybelasting.
Bovendien wordt een magazijn altijd opgeschaald als een query vijf minuten in de wachtrij wacht.
Als de belasting 15 minuten laag is, schaalt Azure Databricks het SQL-warehouse omlaag. Er worden voldoende clusters bijgehouden om de piekbelasting van de afgelopen 15 minuten af te handelen. Als de piekbelasting bijvoorbeeld 25 gelijktijdige query's was, bewaart Azure Databricks 3 clusters.
Query's in wachtrij plaatsen voor pro- en klassieke SQL-warehouses
Azure Databricks wachtrijen query's wanneer alle clusters die aan het magazijn zijn toegewezen, query's uitvoeren op volledige capaciteit of wanneer het magazijn de STARTING
status heeft. Het maximum aantal query's in een wachtrij voor alle SQL-warehousetypen is 1000.
Metagegevensquery's (bijvoorbeeld DESCRIBE <table>
) en statuswijzigingsquery's (bijvoorbeeld SET
) worden nooit in de wachtrij geplaatst, tenzij het magazijn de STARTING
status heeft.