Poznámka
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Tento článek popisuje modely spotřeby prostředků Synapse SQL.
Bezserverový SQL pool
Serverless SQL pool is a pay per query service that doesn't require you to pick the right size. Systém se automaticky přizpůsobí vašim požadavkům, abyste nemuseli spravovat infrastrukturu a vybírat správnou velikost pro své řešení.
Dedikovaný SQL pool - Jednotky datového skladu (DWUs) a výpočetní jednotky datového skladu (cDWUs)
Doporučení k výběru ideálního počtu jednotek datového skladu (DWU) pro optimalizaci ceny a výkonu a o tom, jak změnit počet jednotek.
Jednotky datového skladu
A Synapse SQL pool represents a collection of analytic resources that are being provisioned. Analytické prostředky jsou definovány jako kombinace procesoru, paměti a vstupně-výstupních operací. Tyto tři prostředky jsou spojeny do jednotek výpočetního škálování označovaného jako jednotky datového skladu (DWU). DWU představuje abstraktní normalizovanou míru výpočetních prostředků a výkonu. Změna úrovně služby změní počet jednotek DWU, které jsou pro systém dostupné. Tato změna zase upraví výkon a náklady na váš systém.
Pokud chcete dosáhnout vyššího výkonu, můžete zvýšit počet jednotek datového skladu. Pokud chcete dosáhnout nižšího výkonu, snižte počet jednotek datového skladu. Náklady na úložiště a výpočetní prostředky se účtují samostatně, takže změna jednotek datového skladu nemá vliv na náklady na úložiště.
Výkon jednotek datového skladu je založený na těchto metrikách úloh datového skladu:
- Jak rychle může standardní dotaz datového skladu prohledávat velký počet řádků a pak provádět složitou agregaci. Tato operace je náročná na vstupně-výstupní operace a procesor.
- Jak rychle může datový sklad ingestovat data z objektů blob služby Azure Storage nebo Azure Data Lake. Tato operace je náročná na síť a procesor.
- Jak rychle může příkaz T-SQL
CREATE TABLE AS SELECT
zkopírovat tabulku. Tato operace zahrnuje čtení dat z úložiště, jejich distribuci mezi uzly zařízení a opětovné zápis do úložiště. Tato operace je náročná na procesor, vstupně-výstupní operace a síť.
Zvyšování DWUs:
- Lineárně mění výkon systému při skenování, agregacích a výkazech CTAS.
- Increases the number of readers and writers for PolyBase load operations
- Zvyšuje maximální počet současně prováděných dotazů a konkurenčních slotů.
Cíl úrovně služby
Cíl úrovně služeb (SLO) je nastavení škálovatelnosti, které určuje úroveň nákladů a výkonu datového skladu. Úrovně služeb pro Gen2 se měří v jednotkách výpočetního datového skladu (cDWU), například DW2000c. Úrovně služeb Gen1 se měří v jednotkách DWU, například DW2000.
Cíl úrovně služeb (SLO) je nastavení škálovatelnosti, které určuje úroveň nákladů a výkonu datového skladu. Úrovně služeb pro vyhrazený fond SQL Gen2 se měří v jednotkách datového skladu (DWU), například DW2000c.
Poznámka:
Azure Synapse Analytics Gen2 nedávno přidal další možnosti škálování, které podporují úrovně výpočetních prostředků od 100 cDWU. Stávající datové sklady aktuálně na Gen1, které vyžadují nižší úrovně výpočetních prostředků, se teď můžou upgradovat na Gen2 v oblastech, které jsou aktuálně dostupné bez dalších nákladů. Pokud vaše oblast ještě není podporovaná, můžete upgradovat na podporovanou oblast. Další informace najdete v tématu Upgrade na Gen2.
V T-SQL určuje nastavení SERVICE_OBJECTIVE úroveň služby a úroveň výkonu pro vyhrazený fond SQL.
CREATE DATABASE mySQLDW
(Edition = 'Datawarehouse'
,SERVICE_OBJECTIVE = 'DW1000c'
)
;
Úrovně výkonu a jednotky datového skladu
Každá úroveň výkonu používá pro jednotky datového skladu mírně odlišnou měrnou jednotku. Tento rozdíl se projeví na faktuře, protože jednotka škálování se přímo překládá na fakturaci.
- Datové sklady Gen1 se měří v jednotkách datového skladu (DWU).
- Datové sklady Gen2 se měří ve výpočetních jednotkách datového skladu (cDWU).
Jednotky DWU i cDWU podporují vertikální navýšení nebo snížení kapacity výpočetních prostředků a pozastavení výpočetních prostředků v případě, že nepotřebujete datový sklad používat. Všechny tyto operace jsou na vyžádání. Gen2 využívá mezipaměť založenou na místním disku na výpočetních uzlech ke zlepšení výkonu. Když systém škálujete nebo pozastavíte, mezipaměť se zneplatní, takže před dosažením optimálního výkonu se vyžaduje období zahřívání mezipaměti.
Při zvyšování jednotek datového skladu lineárně zvyšujete výpočetní prostředky. Gen2 poskytuje nejlepší výkonnost při dotazování a nejvyšší škálovatelnost. Systémy Gen2 také využívají mezipaměť nejvíce.
Limity kapacity
Každý SQL server (například myserver.database.windows.net) má kvótu jednotky databázové transakce (DTU), která umožňuje určitý počet jednotek datového skladu. For more information, see the workload management capacity limits.
Posouzení počtu potřebných jednotek datového skladu
Ideální počet jednotek datového skladu závisí velmi na vaší úloze a množství dat, která jste načetli do systému.
Kroky k nalezení nejlepšího DWU pro vaši pracovní zátěž:
- Začněte výběrem menšího DWU.
- Sledujte výkon aplikace při testování načítání dat do systému a sledujte počet jednotek DWU vybraných v porovnání s výkonem, který sledujete.
- Identifikujte všechny další požadavky pro periodická období aktivity ve špičce. Pracovní zatížení, která vykazují význačné špičky a propady v aktivitě, mohou potřebovat časté škálování.
SQL pool is a scale-out system that can provision vast amounts of compute and query sizeable quantities of data. Pokud chcete vidět jeho skutečné možnosti škálování, zejména u větších JEDNOTek DWU, doporučujeme škálovat sadu dat při škálování, abyste zajistili, že máte dostatek dat pro podávání procesorů. Pro testování škálování doporučujeme použít alespoň 1 TB.
Poznámka:
Výkon dotazů se zvyšuje pouze s větší paralelizací, pokud je možné rozdělit práci mezi výpočetní uzly. Pokud zjistíte, že škálování nemění výkon, možná budete muset vyladit návrh tabulky nebo dotazy. Pokyny k ladění dotazů najdete v tématu Správa uživatelských dotazů.
Dovolení
Změna jednotek datového skladu vyžaduje oprávnění popsaná v ALTER DATABASE.
Předdefinované role Azure, jako je přispěvatel databáze SQL a Přispěvatel SQL Serveru, můžou měnit nastavení DWU.
Zobrazení aktuálního nastavení DWU
Zobrazení aktuálního nastavení DWU:
- Otevřete Průzkumník objektů SQL Serveru v sadě Visual Studio.
- Připojte se k hlavní databázi přidružené k logickému SERVERU SQL.
- Select from the sys.database_service_objectives dynamic management view. Tady je příklad:
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
;
Změna jednotek datového skladu
portál Azure
Pro změnu jednotek DWU:
Otevřete Azure Portal, otevřete databázi a vyberte Škálovat.
Under Scale, move the slider left or right to change the DWU setting.
Vyberte Uložit. Zobrazí se potvrzovací zpráva. Pokud chcete potvrdit nebo ne zrušit, vyberte ano.
PowerShell
Poznámka:
K interakci s Azure doporučujeme použít modul Azure Az PowerShell. Začněte tím, že si projdete téma Instalace Azure PowerShellu. Informace o tom, jak migrovat na modul Az PowerShell, najdete v tématu Migrace Azure PowerShellu z AzureRM na Az.
Pro změnu jednotek DWU použijte cmdlet PowerShell Set-AzSqlDatabase. Následující příklad nastaví cíl na úrovni služby DW1000 pro databázi MySQLDW hostovanou na serveru MyServer.
Set-AzSqlDatabase -DatabaseName "MySQLDW" -ServerName "MyServer" -RequestedServiceObjectiveName "DW1000c"
Další informace najdete v rutinách PowerShellu pro Azure Synapse Analytics.
T-SQL
Pomocí T-SQL můžete zobrazit aktuální nastavení DWUsettings, změnit nastavení a zkontrolovat průběh.
Chcete-li změnit DWUs:
- Připojte se k hlavní databázi přidružené k vašemu serveru.
- Použijte příkaz ALTER DATABASE TSQL. Následující příklad nastaví cíl na úrovni služby dw1000c pro databázi MySQLDW.
ALTER DATABASE MySQLDW
MODIFY (SERVICE_OBJECTIVE = 'DW1000c')
;
API rozhraní REST
Pokud chcete změnit jednotky DWU, použijte rozhraní Create or Update Database REST API. Následující příklad nastaví cíl na úrovni služby dw1000c pro databázi MySQLDW, která je hostovaná na serveru MyServer. Server je ve skupině prostředků Azure s názvem 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
}
}
Další příklady rozhraní REST API najdete v tématu ROZHRANÍ REST API pro Azure Synapse Analytics.
Kontrola stavu změn DWU
Dokončení změn DWU může trvat několik minut. Pokud provádíte automatické škálování, zvažte implementaci logiky, abyste před pokračováním v jiné akci zajistili dokončení určitých operací.
Kontrola stavu databáze prostřednictvím různých koncových bodů umožňuje správně implementovat automatizaci. Portál poskytuje oznámení po dokončení operace a aktuálního stavu databází, ale neumožňuje programovou kontrolu stavu.
Na webu Azure Portal nemůžete zkontrolovat stav databáze pro operace horizontálního navýšení kapacity.
Pro kontrolu stavu změn DWU:
- Připojte se k hlavní databázi přidružené k vašemu serveru.
- Odešlete následující dotaz a zkontrolujte stav databáze.
SELECT *
FROM sys.databases
;
- Odesláním následujícího dotazu zkontrolujte stav operace.
SELECT *
FROM sys.dm_operation_status
WHERE resource_type_desc = 'Database'
AND major_resource_id = 'MySQLDW'
;
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.
Pracovní postup škálování
Když spustíte operaci škálování, systém nejprve ukonče všechny otevřené relace a vrátí zpět všechny otevřené transakce, aby byl zajištěn konzistentní stav. For scale operations, scaling only occurs after this transactional rollback has completed.
- V případě operace vertikálního navýšení kapacity systém odpojí všechny výpočetní uzly, zřídí další výpočetní uzly a pak se znovu připojí k vrstvě úložiště.
- V případě operace vertikálního snížení kapacity systém odpojí všechny výpočetní uzly a pak znovu připojí pouze potřebné uzly k vrstvě úložiště.
Další kroky
Další informace o správě výkonu najdete v tématu Třídy prostředků pro správu úloh a Omezení paměti a souběžnosti.