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.
Overzicht van afmetingen
SQL-warehouses zijn beschikbaar in serverloze, pro- en klassieke typen die verschillende prestatiefuncties en optimalisaties hebben die van invloed kunnen zijn op queryprestaties in uw magazijn. Zie SQL Warehouse-typen. Databricks raadt aan om serverloze SQL-warehouses te gebruiken wanneer deze beschikbaar zijn.
Voor elk magazijntype kiest u een Clustergrootte voor de rekenresources. Het optimaliseren van uw Databricks SQL Warehouse-grootte omvat meer dan alleen rekening houden met het aantal gegevensvolumes of gebruikers. Querycomplexiteit en het aantal gelijktijdige query's zijn ook belangrijke factoren in prestaties.
Databricks SQL Warehouses maken gebruik van dynamische gelijktijdigheid om aan deze vereisten te voldoen. In tegenstelling tot warehouses met statische capaciteit past Databricks SQL rekenresources in realtime aan om gelijktijdige belastingen te beheren en de doorvoer te maximaliseren. Elke categorie magazijngrootte heeft een vaste rekencapaciteit per eenheid, maar het systeem schaalt het aantal resources om aan verschillende eisen te voldoen.
clustergrootten voor SQL-magazijnen
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.
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.
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. De gekoppelde schijven worden per 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, controleert u of er 8 Azure vCPU's beschikbaar zijn voor elke kern in het cluster. Dit zorgt ervoor dat u voldoende Azure vCPU hebt voor de herconfiguratie van uw gegevensmagazijn, die ongeveer elke 24 uur plaatsvindt. Mogelijk moet u de vermenigvuldiger verhogen als uw SQL-warehouses gebruikmaken van automatische schaalaanpassing of taakverdeling voor meerdere clusters.
- 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 door SQL-warehouses worden gebruikt, zijn aanvullend op Azure vCPU's die worden ingezet door clusters voor Data Science & Engineering of voor 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. De upscaling van clusters per magazijn is gebaseerd op querydoorvoer, de snelheid van binnenkomende query's en de grootte van de wachtrij. 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.
Serverloze automatische schaalaanpassing en query's in de wachtrij plaatsen
Intelligent workloadbeheer (IWM) is een set van 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 in realtime. Als de wachtrij niet snel genoeg afneemt, zorgt autoscaling automatisch voor extra rekenkracht. 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.
De grootte van een serverloos SQL-warehouse aanpassen
Begin met een groter formaat voor uw serverloze SQL Warehouse dan u denkt nodig te hebben en verklein indien nodig tijdens het testen. Begin niet met een kleine grootte 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, kunt u de grootte verlagen zonder over te lopen naar de schijf of de latentie aanzienlijk te verhogen.
Hulpprogramma's voor het bewaken en evalueren van prestaties
Gebruik de volgende hulpprogramma's om uw SQL-warehouse op de juiste grootte af te stemmen:
- Controlepagina: Het aantal piekopdrachten controleren. 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.