Synapse för SQL-resursförbrukningSynapse SQL resource consumption

Den här artikeln beskriver resurs förbruknings modeller för Synapse SQL.This article describes resource consumption models of Synapse SQL.

Serverlös SQL-poolServerless SQL pool

SQL-poolen utan server är en betal tjänst per fråga som inte kräver att du väljer rätt storlek.Serverless SQL pool is a pay per query service that doesn't require you to pick the right size. Systemet justeras automatiskt baserat på dina krav, vilket frigör dig från att hantera infrastrukturen och välja rätt storlek för din lösning.The system automatically adjusts based on your requirements, freeing you up from managing your infrastructure and picking the right size for your solution.

Dedikerad SQL-pool – informations lager enheter (DWU: er) och beräknings data lager enheter (cDWUs)Dedicated SQL pool - Data Warehouse Units (DWUs) and compute Data Warehouse Units (cDWUs)

Rekommendationer för att välja det idealiska antalet informations lager enheter (DWU: er) för att optimera pris och prestanda och hur du ändrar antalet enheter.Recommendations on choosing the ideal number of data warehouse units (DWUs) to optimize price and performance, and how to change the number of units.

InformationslagerenheterData Warehouse Units

En Synapse SQL-pool representerar en samling analys resurser som tillhandahålls.A Synapse SQL pool represents a collection of analytic resources that are being provisioned. Analys resurser definieras som en kombination av CPU, minne och IO.Analytic resources are defined as a combination of CPU, memory, and IO. Dessa tre resurser paketeras i enheter med beräknings skala som kallas informations lager enheter (DWU: er).These three resources are bundled into units of compute scale called Data Warehouse Units (DWUs). En DWU representerar ett abstrakt, normaliserat mått för beräkningsresurser och prestanda.A DWU represents an abstract, normalized measure of compute resources and performance. En ändring av Service nivån ändrar antalet DWU: er som är tillgängliga för systemet.A change to your service level alters the number of DWUs that are available to the system. I sin tur justerar den här ändringen systemets prestanda och kostnad.In turn, this change adjusts the performance and cost of your system.

För högre prestanda kan du öka antalet informations lager enheter.For higher performance, you can increase the number of data warehouse units. Minska data lagrets enheter för mindre prestanda.For less performance, reduce data warehouse units. Lagrings- och beräkningskostnader faktureras separat, så ändringar av informationslagerenheter påverkar inte lagringskostnaderna.Storage and compute costs are billed separately, so changing data warehouse units does not affect storage costs.

Prestanda för informations lager enheter baseras på dessa data lager arbets belastnings mått:Performance for data warehouse units is based on these data warehouse workload metrics:

  • Hur snabbt en standard data lager fråga kan genomsöka ett stort antal rader och sedan utföra en komplex agg regering.How fast a standard data warehousing query can scan a large number of rows and then perform a complex aggregation. Den här åtgärden är I/O och processor intensiv.This operation is I/O and CPU intensive.
  • Hur snabbt data lagret kan mata in data från Azure Storage blobbar eller Azure Data Lake.How fast the data warehouse can ingest data from Azure Storage Blobs or Azure Data Lake. Den här åtgärden är nätverks-och processor intensiv.This operation is network and CPU intensive.
  • Hur snabbt CREATE TABLE AS SELECT T-SQL-kommandot kan kopiera en tabell.How fast the CREATE TABLE AS SELECT T-SQL command can copy a table. Den här åtgärden innebär att läsa data från lagring, distribuera dem mellan noderna i enheten och skriva till lagrings utrymme igen.This operation involves reading data from storage, distributing it across the nodes of the appliance and writing to storage again. Den här åtgärden är CPU, i/o och nätverks intensiv.This operation is CPU, IO, and network intensive.

Ökande DWU: er:Increasing DWUs:

  • Ändrar systemets prestanda linjärt för genomsökningar, agg regeringar och CTAS-uttryckLinearly changes performance of the system for scans, aggregations, and CTAS statements
  • Ökar antalet läsare och skribenter för PolyBase-inläsnings åtgärderIncreases the number of readers and writers for PolyBase load operations
  • Ökar det maximala antalet samtidiga frågor och samtidiga platser.Increases the maximum number of concurrent queries and concurrency slots.

ServicenivåmålService Level Objective

Service nivå målet (service nivå målet) är inställningen för skalbarhet som avgör data lagrets kostnad och prestanda nivå.The Service Level Objective (SLO) is the scalability setting that determines the cost and performance level of your data warehouse. Service nivåerna för Gen2 mäts i beräknings data lager enheter (cDWU), till exempel DW2000c.The service levels for Gen2 are measured in compute data warehouse units (cDWU), for example DW2000c. Gen1 service nivåer mäts i DWU: er, till exempel DW2000.Gen1 service levels are measured in DWUs, for example DW2000.

Service nivå målet (service nivå målet) är inställningen för skalbarhet som avgör data lagrets kostnad och prestanda nivå.The Service Level Objective (SLO) is the scalability setting that determines the cost and performance level of your data warehouse. Tjänst nivåerna för Gen2 dedikerade SQL-poolen mäts i informations lager enheter (DWU), till exempel DW2000c.The service levels for Gen2 dedicated SQL pool are measured in data warehouse units (DWU), for example DW2000c.

Anteckning

Azure Synapse Analytics Gen2 nyligen tillagda ytterligare skalnings funktioner som stöd för beräknings nivåer så lågt som 100 cDWU.Azure Synapse Analytics Gen2 recently added additional scale capabilities to support compute tiers as low as 100 cDWU. Befintliga data lager för närvarande på gen1 som kräver lägre beräknings nivåer kan nu uppgraderas till Gen2 i de regioner som för närvarande är tillgängliga utan extra kostnad.Existing data warehouses currently on Gen1 that require the lower compute tiers can now upgrade to Gen2 in the regions that are currently available for no additional cost. Om din region inte stöds ännu kan du fortfarande uppgradera till en region som stöds.If your region is not yet supported, you can still upgrade to a supported region. Mer information finns i Uppgradera till Gen2.For more information, see Upgrade to Gen2.

I T-SQL bestämmer inställningen för SERVICE_OBJECTIVE tjänst nivå och prestanda nivå för din dedikerade SQL-pool.In T-SQL, the SERVICE_OBJECTIVE setting determines the service level and the performance tier for your dedicated SQL pool.

CREATE DATABASE mySQLDW
(Edition = 'Datawarehouse'
 ,SERVICE_OBJECTIVE = 'DW1000c'
)
;

Prestanda nivåer och informations lager enheterPerformance Tiers and Data Warehouse Units

Varje prestanda nivå använder en något annorlunda mått enhet för sina informations lager enheter.Each performance tier uses a slightly different unit of measure for their data warehouse units. Den här skillnaden visas på fakturan eftersom enhets skalan direkt översätts till fakturering.This difference is reflected on the invoice as the unit of scale directly translates to billing.

  • Gen1 informations lager mäts i informations lager enheter (DWU: er).Gen1 data warehouses are measured in Data Warehouse Units (DWUs).
  • Gen2-datalager mäts i data lager enheter för beräkning (cDWUs).Gen2 data warehouses are measured in compute Data Warehouse Units (cDWUs).

Både DWU: er och cDWUs har stöd för att skala upp eller ned och pausa beräkningen när du inte behöver använda data lagret.Both DWUs and cDWUs support scaling compute up or down, and pausing compute when you don't need to use the data warehouse. De här åtgärderna är alla på begäran.These operations are all on-demand. Gen2 använder en lokal diskbaserad cache på Compute-noderna för att förbättra prestandan.Gen2 uses a local disk-based cache on the compute nodes to improve performance. När du skalar eller pausar systemet blir cacheminnet inställt och så en period av cache-uppvärmning krävs innan optimala prestanda uppnås.When you scale or pause the system, the cache is invalidated and so a period of cache warming is required before optimal performance is achieved.

När du ökar informations lager enheter ökar du linjärt data bearbetnings resurser.As you increase data warehouse units, you're linearly increasing computing resources. Gen2 tillhandahåller bästa prestanda för frågor och högsta skalning.Gen2 provides the best query performance and highest scale. Gen2-system gör också den mest använda cachen.Gen2 systems also make the most use of the cache.

KapacitetsbegränsningarCapacity limits

Varje SQL Server (till exempel myserver.database.windows.net) har en kvot för databas transaktions enhet (DTU) som tillåter ett angivet antal informations lager enheter.Each SQL server (for example, myserver.database.windows.net) has a Database Transaction Unit (DTU) quota that allows a specific number of data warehouse units. Mer information finns i kapacitets gränser för arbets belastnings hantering.For more information, see the workload management capacity limits.

Utvärdera antalet data lager enheter som du behöverAssess the number of data warehouse units you need

Det idealiska antalet data lager enheter är beroende av arbets belastningen och mängden data som du har läst in i systemet.The ideal number of data warehouse units depends very much on your workload and the amount of data you've loaded into the system.

Steg för att hitta den bästa DWU för din arbets belastning:Steps for finding the best DWU for your workload:

  1. Börja med att välja en mindre DWU.Begin by selecting a smaller DWU.
  2. Övervaka program prestanda när du testar data inläsningar i systemet och som beaktar antalet DWU: er som valts jämfört med den prestanda du har.Monitor your application performance as you test data loads into the system, observing the number of DWUs selected compared to the performance you observe.
  3. Identifiera eventuella ytterligare krav för periodiska perioder med hög belastnings aktivitet.Identify any additional requirements for periodic periods of peak activity. Arbets belastningar som visar betydande toppar och troughs i aktivitet kan behöva skalas ofta.Workloads that show significant peaks and troughs in activity may need to be scaled frequently.

SQL-poolen är ett skalbart system som kan etablera stora mängder data bearbetning och fråga betydande mängder data.SQL pool is a scale-out system that can provision vast amounts of compute and query sizeable quantities of data. Om du vill se de verkliga funktionerna för skalning, särskilt vid större DWU: er, rekommenderar vi att du skalar data uppsättningen när du skalar för att säkerställa att du har tillräckligt med data för att kunna mata in processorerna.To see its true capabilities for scaling, especially at larger DWUs, we recommend scaling the data set as you scale to ensure that you have enough data to feed the CPUs. För skalnings testning rekommenderar vi att du använder minst 1 TB.For scale testing, we recommend using at least 1 TB.

Anteckning

Frågans prestanda ökar bara med fler parallellisering om arbetet kan delas mellan datornoder.Query performance only increases with more parallelization if the work can be split between compute nodes. Om du upptäcker att skalning inte ändrar prestandan kan du behöva justera tabell designen och/eller dina frågor.If you find that scaling is not changing your performance, you may need to tune your table design and/or your queries. Anvisningar om hur du ställer frågor finns i hantera användar frågor.For query tuning guidance, see Manage user queries.

BehörigheterPermissions

Om du ändrar data lagrets enheter krävs de behörigheter som beskrivs i Alter Database.Changing the data warehouse units requires the permissions described in ALTER DATABASE.

Inbyggda Azure-roller som SQL DB-deltagare och SQL Server deltagare kan ändra DWU-inställningar.Azure built-in roles such as SQL DB Contributor and SQL Server Contributor can change DWU settings.

Visa aktuella inställningar för DWUView current DWU settings

Så här visar du den aktuella DWU-inställningen:To view the current DWU setting:

  1. Öppna SQL Server Object Explorer i Visual Studio.Open SQL Server Object Explorer in Visual Studio.
  2. Anslut till huvud databasen som är kopplad till den logiska SQL-servern.Connect to the master database associated with the logical SQL server.
  3. Välj från vyn sys.database_service_objectives dynamisk hantering.Select from the sys.database_service_objectives dynamic management view. Här är ett exempel:Here is an example:
SELECT  db.name [Database]
,        ds.edition [Edition]
,        ds.service_objective [Service Objective]
FROM    sys.database_service_objectives   AS ds
JOIN    sys.databases                     AS db ON ds.database_id = db.database_id
;

Ändra informations lager enheterChange data warehouse units

Azure PortalAzure portal

Ändra DWU: er:To change DWUs:

  1. Öppna Azure Portal, öppna databasen och välj skala.Open the Azure portal, open your database, and select Scale.

  2. Under skala flyttar du skjutreglaget åt vänster eller höger för att ändra DWU-inställningen.Under Scale, move the slider left or right to change the DWU setting.

  3. Välj Spara.Select Save. Ett bekräftelsemeddelande visas.A confirmation message appears. Välj Ja för att bekräfta eller Nej för att avbryta.Select yes to confirm or no to cancel.

PowerShellPowerShell

Anteckning

Den här artikeln har uppdaterats till att använda Azure Az PowerShell-modulen.This article has been updated to use the Azure Az PowerShell module. Az PowerShell-modulen är den rekommenderade PowerShell-modulen för att interagera med Azure.The Az PowerShell module is the recommended PowerShell module for interacting with Azure. För att komma igång med Az PowerShell kan du läsa artikeln om att installera Azure PowerShell.To get started with the Az PowerShell module, see Install Azure PowerShell. Information om hur du migrerar till Az PowerShell-modulen finns i artikeln om att migrera Azure PowerShell från AzureRM till Az.To learn how to migrate to the Az PowerShell module, see Migrate Azure PowerShell from AzureRM to Az.

Om du vill ändra DWU: er använder du PowerShell-cmdleten set-AzSqlDatabase .To change the DWUs, use the Set-AzSqlDatabase PowerShell cmdlet. I följande exempel anges service nivå målet till DW1000 för databasen MySQLDW som finns på Server-servern.The following example sets the service level objective to DW1000 for the database MySQLDW that is hosted on server MyServer.

Set-AzSqlDatabase -DatabaseName "MySQLDW" -ServerName "MyServer" -RequestedServiceObjectiveName "DW1000c"

Mer information finns i PowerShell-cmdletar för Azure Synapse AnalyticsFor more information, see PowerShell cmdlets for Azure Synapse Analytics

T-SQLT-SQL

Med T-SQL kan du Visa den aktuella DWUsettings, ändra inställningarna och kontrol lera förloppet.With T-SQL you can view the current DWUsettings, change the settings, and check the progress.

Så här ändrar du DWU: er:To change the DWUs:

  1. Anslut till huvud databasen som är associerad med servern.Connect to the master database associated with your server.
  2. Använd instruktionen Alter Database tsql.Use the ALTER DATABASE TSQL statement. I följande exempel anges service nivå målet till DW1000c för databasen MySQLDW.The following example sets the service level objective to DW1000c for the database MySQLDW.
ALTER DATABASE MySQLDW
MODIFY (SERVICE_OBJECTIVE = 'DW1000c')
;

REST API:erREST APIs

Om du vill ändra DWU: er använder du REST API skapa eller uppdatera databas .To change the DWUs, use the Create or Update Database REST API. I följande exempel anges service nivå målet till DW1000c för databasen MySQLDW, som finns på Server-servern.The following example sets the service level objective to DW1000c for the database MySQLDW, which is hosted on server MyServer. Servern finns i en Azure-resurs grupp med namnet ResourceGroup1.The server is in an Azure resource group named ResourceGroup1.

PUT https://management.azure.com/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Sql/servers/{server-name}/databases/{database-name}?api-version=2014-04-01-preview HTTP/1.1
Content-Type: application/json; charset=UTF-8

{
    "properties": {
        "requestedServiceObjectiveName": DW1000
    }
}

Fler REST APIs exempel finns i REST-API: er för Azure Synapse Analytics.For more REST API examples, see REST APIs for Azure Synapse Analytics.

Kontrol lera status för DWU-ändringarCheck status of DWU changes

DWU ändringar kan ta flera minuter att slutföra.DWU changes may take several minutes to complete. Om du skalar automatiskt bör du överväga att implementera logik för att säkerställa att vissa åtgärder har slutförts innan du fortsätter med en annan åtgärd.If you're scaling automatically, consider implementing logic to ensure that certain operations have been completed before proceeding with another action.

Genom att kontrol lera databas statusen via olika slut punkter kan du implementera Automation korrekt.Checking the database state through various endpoints allows you to correctly implement automation. Portalen visar ett meddelande när en åtgärd har slutförts och databasens aktuella tillstånd, men tillåter inte program kontroll av status.The portal provides notification upon completion of an operation and the databases current state but doesn't allow for programmatic checking of state.

Du kan inte kontrol lera databasens tillstånd för skalnings åtgärder med Azure Portal.You can't check the database state for scale-out operations with the Azure portal.

Så här kontrollerar du status för DWU-ändringar:To check the status of DWU changes:

  1. Anslut till huvud databasen som är associerad med servern.Connect to the master database associated with your server.
  2. Skicka följande fråga för att kontrol lera databasens tillstånd.Submit the following query to check database state.
SELECT    *
FROM      sys.databases
;
  1. Skicka följande fråga för att kontrol lera status för åtgärdenSubmit the following query to check status of operation
SELECT    *
FROM      sys.dm_operation_status
WHERE     resource_type_desc = 'Database'
AND       major_resource_id = 'MySQLDW'
;

I denna DMV returneras information om olika hanterings åtgärder på din dedikerade SQL-pool, till exempel åtgärden och status för åtgärden, som antingen IN_PROGRESS eller har SLUTFÖRts.This DMV returns information about various management operations on your dedicated SQL pool such as the operation and the state of the operation, which is either IN_PROGRESS or COMPLETED.

Arbets flödet för skalningThe scaling workflow

När du startar en skalnings åtgärd omsorg systemet först alla öppna sessioner, vilket återställer eventuella öppna transaktioner för att säkerställa ett konsekvent tillstånd.When you start a scale operation, the system first kills all open sessions, rolling back any open transactions to ensure a consistent state. För skalnings åtgärder sker skalningen endast efter att den här transaktions återställningen har slutförts.For scale operations, scaling only occurs after this transactional rollback has completed.

  • För en skalnings åtgärd tar systemet bort alla datornoder, etablerar ytterligare datornoder och återansluter sedan till lagrings skiktet.For a scale-up operation, the system detaches all compute nodes, provisions the additional compute nodes, and then reattaches to the storage layer.
  • För en nedskalning åtgärd tar systemet bort alla datornoder och återansluter sedan bara de noder som behövs till lagrings lagret.For a scale-down operation, the system detaches all compute nodes and then reattaches only the needed nodes to the storage layer.

Nästa stegNext steps

Mer information om hur du hanterar prestanda finns i resurs klasser för hantering av arbets belastning och minnes-och samtidiga gränser.To learn more about managing performance, see Resource classes for workload management and Memory and concurrency limits.