Compute beheren voor toegewezen SQL-pool (voorheen SQL DW) in Azure Synapse Analytics

Meer informatie over het beheren van een toegewezen SQL-pool (voorheen SQL DW) in Azure Synapse Analytics. Lagere kosten door de toegewezen SQL-pool te onderbreken of de toegewezen SQL-pool te schalen om te voldoen aan de prestatievereisten.

Wat is rekenbeheer?

De architectuur van een toegewezen SQL-pool (voorheen SQL DW) scheidt opslag en rekenkracht, zodat elke pool onafhankelijk kan worden geschaald. Daardoor kunt u de rekenkracht aanpassen om aan prestatievereisten te voldoen zonder dat dit consequenties heeft voor de opslag van gegevens. U kunt ook rekenresources pauzeren en hervatten. Een natuurlijk gevolg van deze architectuur is dat de facturering voor rekenkracht en opslag gescheiden is. Als u uw toegewezen SQL-pool (voorheen SQL DW) gedurende een tijdje niet hoeft te gebruiken, kunt u de rekenkosten besparen door de berekening te onderbreken.

Rekenkracht schalen

U kunt de omvang van rekenkracht vergroten of verkleinen door de instelling voor datawarehouse-eenheden voor uw toegewezen SQL-pool (voorheen SQL DW) aan te passen. De prestaties voor het laden en voor query's kunnen lineair toenemen als u meer datawarehouse-eenheden wilt toevoegen.

Zie de quickstarts van Azure Portal, PowerShell of T-SQL voor uitschalen. U kunt ook scale-outbewerkingen uitvoeren met een REST API.

Om een schaalbewerking uit te voeren, beëindigt de toegewezen SQL-pool (voorheen SQL DW) eerst alle binnenkomende query's, waarna transacties worden teruggedraaid om een consistente status te garanderen. Het aanpassen van de schaal vindt alleen plaats als de transactie is teruggedraaid. Voor een schaalbewerking wordt de opslaglaag losgekoppeld van de rekenknooppunten, worden rekenknooppunten toegevoegd en wordt de opslaglaag vervolgens opnieuw gekoppeld aan de compute-laag. Elke toegewezen SQL-pool (voorheen SQL DW) wordt opgeslagen als 60 distributies, die gelijkmatig worden gedistribueerd naar de rekenknooppunten. Door meer rekenknooppunten toe te voegen, wordt meer rekenkracht toegevoegd. Naarmate het aantal rekenknooppunten toeneemt, neemt het aantal distributies per rekenknooppunt af, wat meer rekenkracht biedt voor uw query's. Op dezelfde manier vermindert het verlagen van datawarehouse-eenheden het aantal rekenknooppunten, waardoor de rekenresources voor query's worden verminderd.

In de volgende tabel ziet u hoe het aantal distributies per rekenknooppunt verandert wanneer de datawarehouse-eenheden veranderen. DW30000c biedt 60 rekenknooppunten en bereikt veel hogere queryprestaties dan DW100c.

Datawarehouse-eenheden Aantal rekenknooppunten Aantal distributies per knooppunt
DW100c 1 60
DW200c 1 60
DW300c 1 60
DW400c 1 60
DW500c 1 60
DW1000c 2 30
DW1500c 3 20
DW2000c 4 15
DW2500c 5 12
DW3000c 6 10
DW5000c 10 6
DW6000c 12 5
DW7500c 15 4
DW10000c 20 3
DW15000c 30 2
DW30000c 60 1

De juiste grootte van datawarehouse-eenheden vinden

Als u de prestatievoordelen van uitschalen wilt zien, met name voor grotere datawarehouse-eenheden, wilt u ten minste een gegevensset van 1 TB gebruiken. Als u het beste aantal datawarehouse-eenheden voor uw toegewezen SQL-pool (voorheen SQL DW) wilt vinden, kunt u omhoog en omlaag schalen. Voer enkele query's uit met verschillende aantallen datawarehouse-eenheden na het laden van uw gegevens. Omdat schalen snel is, kunt u in een uur of minder verschillende prestatieniveaus proberen.

Aanbevelingen voor het vinden van het beste aantal datawarehouse-eenheden:

  • Voor een toegewezen SQL-pool (voorheen SQL DW) in ontwikkeling selecteert u eerst een kleiner aantal datawarehouse-eenheden. Een goed startpunt is DW400c of DW200c.
  • Bewaak de prestaties van uw toepassing, waarbij u het aantal geselecteerde datawarehouse-eenheden bekijkt in vergelijking met de prestaties die u ziet.
  • Stel een lineaire schaal in en bepaal hoeveel u nodig hebt om de datawarehouse-eenheden te verhogen of te verlagen.
  • Ga door met het aanbrengen van aanpassingen totdat u een optimaal prestatieniveau voor uw bedrijfsvereisten bereikt.

Wanneer moet u uitschalen

Het uitschalen van datawarehouse-eenheden heeft gevolgen voor deze aspecten van de prestaties:

  • Verbetert lineair de prestaties van het systeem voor scans, aggregaties en CTAS-instructies.
  • Hiermee verhoogt u het aantal lezers en schrijvers voor het laden van gegevens.
  • Maximum aantal gelijktijdige query's en gelijktijdigheidssites.

Aanbevelingen voor het uitschalen van datawarehouse-eenheden:

  • Voordat u een zware bewerking voor het laden of transformeren van gegevens uitvoert, schaalt u uit om de gegevens sneller beschikbaar te maken.
  • Tijdens piekuren kunt u uitschalen om grotere aantallen gelijktijdige query's mogelijk te maken.

Wat gebeurt er als uitschalen de prestaties niet verbetert?

Het toevoegen van datawarehouse-eenheden verhoogt de parallelle uitvoering. Als het werk gelijkmatig is verdeeld tussen de rekenknooppunten, verbetert de extra parallelle uitvoering van queryprestaties. Als uitschalen uw prestaties niet wijzigt, zijn er enkele redenen waarom dit kan gebeuren. Uw gegevens kunnen scheef worden verdeeld over de distributies of query's introduceren mogelijk een grote hoeveelheid gegevensverplaatsing. Zie Prestatieproblemen oplossen om problemen met queryprestaties te onderzoeken.

Onderbreken en hervatten van rekenactiviteiten

Als u rekenkracht onderbreekt, wordt de opslaglaag losgekoppeld van de rekenknooppunten. De rekenresources worden vrijgegeven uit uw account. Er worden geen kosten in rekening gebracht voor berekeningen terwijl de berekening is onderbroken. Bij het hervatten van de opslag wordt de opslag opnieuw gekoppeld aan de rekenknooppunten en worden de kosten voor Compute hervat. Wanneer u een toegewezen SQL-pool onderbreekt (voorheen SQL DW):

  • Reken- en geheugenresources worden geretourneerd naar de pool met beschikbare resources in het datacenter
  • Kosten van datawarehouse-eenheden zijn nul voor de duur van de pauze.
  • Gegevensopslag wordt niet beïnvloed en uw gegevens blijven intact.
  • Alle actieve of in de wachtrij geplaatste bewerkingen worden geannuleerd.
  • DMV-tellers worden opnieuw ingesteld.

Wanneer u een toegewezen SQL-pool (voorheen SQL DW) hervat:

  • De toegewezen SQL-pool (voorheen SQL DW) verkrijgt reken- en geheugenresources voor de instelling van uw datawarehouse-eenheden.
  • De rekenkosten voor uw datawarehouse-eenheden worden hervat.
  • Uw gegevens worden beschikbaar.
  • Nadat de toegewezen SQL-pool (voorheen SQL DW) online is, moet u uw workloadquery's opnieuw starten.

Als u altijd wilt dat uw toegewezen SQL-pool (voorheen SQL DW) toegankelijk is, kunt u overwegen deze omlaag te schalen naar de kleinste grootte in plaats van te onderbreken.

Zie de quickstarts van Azure Portal of PowerShell voor het onderbreken en hervatten van stappen. U kunt ook de REST API onderbreken of de REST API hervatten.

Transacties stoppen voor onderbreken of schalen

Wij raden u aan toe te staan dat bestaande transacties worden voltooid voordat u een onderbrekings- of schalingsbewerking start.

Wanneer u uw toegewezen SQL-pool (voorheen SQL DW) onderbreekt of schaalt, worden uw query's achter de schermen geannuleerd wanneer u de aanvraag voor onderbreken of schalen start. Een eenvoudige SELECT-query annuleren is een snelle bewerking en heeft zo goed als geen invloed op de duur van het onderbreken of schalen van uw instantie. Maar transactiequery’s, die uw gegevens of de structuur van uw gegevens wijzigen, kunnen mogelijk niet snel worden stopgezet. Transactiequery’s moeten per definitie volledig worden voltooid of hun wijzigingen volledig terugdraaien. Het kan even lang of langer duren om het werk dat door een transactiequery is voltooid, terug te draaien, als het uitvoeren van de oorspronkelijke opdracht van de query. Als u bijvoorbeeld een query annuleert voor het verwijderen van rijen die al een uur wordt uitgevoerd, kan het systeem er een uur over doen om de verwijderde rijen terug te plaatsen. Als u onderbreken of schalen uitvoert terwijl er transacties bezig zijn, kan het schalen of onderbreken lang lijken te duren omdat het schalen of onderbreken moet wachten op het terugdraaien van de transacties voordat het kan worden voortgezet.

Zie ook Inzicht krijgen in transacties en transacties optimaliseren.

Berekeningsbeheer automatiseren

Zie Compute beheren met Azure-functies om de rekenbeheerbewerkingen te automatiseren.

Het kan enkele minuten duren voordat de uitschaal-, pauze- en hervattingsbewerkingen zijn voltooid. Als u automatisch schaalt, onderbroken of hervat, wordt u aangeraden logica te implementeren om ervoor te zorgen dat bepaalde bewerkingen zijn voltooid voordat u doorgaat met een andere actie. Door de status van de toegewezen SQL-pool (voorheen SQL DW) te controleren via verschillende eindpunten, kunt u automatisering van dergelijke bewerkingen correct implementeren.

Als u de status van de toegewezen SQL-pool (voorheen SQL DW) wilt controleren, raadpleegt u de quickstart voor PowerShell of T-SQL . U kunt ook de status van de toegewezen SQL-pool (voorheen SQL DW) controleren met een REST API.

Bevoegdheden

Voor het schalen van de toegewezen SQL-pool (voorheen SQL DW) zijn de machtigingen vereist die worden beschreven in ALTER DATABASE. Onderbreken en hervatten vereist de machtiging inzender voor SQL DB, met name Microsoft.Sql/servers/databases/action.

Volgende stappen

Zie de handleiding voor het beheren van rekenkracht Een ander aspect van het beheren van rekenresources is het toewijzen van verschillende rekenresources voor afzonderlijke query's. Zie Resourceklassen voor workloadbeheer voor meer informatie.