Správa výpočetních prostředků pro vyhrazený fond SQL

Tip

Microsoft Fabric Data Warehouse je relační sklad v podnikovém měřítku na základu datového jezera s architekturou připravenou pro budoucnost, integrovanou AI a novými funkcemi. Pokud s datovými sklady začínáte, začněte pracovat s Fabric Data Warehouse. Stávající úlohy fondu dedikované SQL můžou upgradovat na Fabric a získat tak přístup k novým funkcím napříč datovou vědou, analýzou v reálném čase a reportováním.

Tento článek vysvětluje, jak spravovat výpočetní prostředky pro vyhrazený fond SQL (dříve SQL DW) ve službě Azure Synapse Analytics. Náklady můžete snížit pozastavením vyhrazeného fondu SQL nebo škálováním vyhrazeného fondu SQL tak, aby splňoval požadavky na výkon.

Co je správa výpočetních prostředků?

Architektura vyhrazeného fondu SQL odděluje úložiště a výpočetní prostředky, a tím umožňuje jejich nezávislé škálování. V důsledku toho je možné škálovat výpočty tak, aby byly splněny požadavky na výkon nezávisle na úložišti dat. Můžete také pozastavit výpočetní prostředky a obnovit jejich chod.

Přirozeným důsledkem této architektury je, že ceny výpočetních prostředků a úložiště jsou oddělené. Pokud nebudete vyhrazený fond SQL nějakou dobu potřebovat, můžete ušetřit náklady na výpočetní výkon pozastavením výpočetních prostředků.

Škálování výpočetních prostředků

Kapacitu výpočetního výkonu můžete zvětšit nebo zmenšit úpravou nastavení jednotek datového skladu (DWU) pro vyhrazený SQL fond. Načítání a výkon dotazů se může při přidávání dalších jednotek DWU zvyšovat lineárně.

Pokyny pro škálování najdete v rychlých průvodcích pro Azure portal, PowerShell nebo T-SQL. Operace škálování můžete provádět také pomocí rozhraní REST API.

Pokud chcete provést operaci škálování, vyhrazený fond SQL nejprve ukonče všechny příchozí dotazy a potom vrátí transakce zpět, aby byl zajištěn konzistentní stav. Ke škálování dojde až po odvolání transakcí. V případě operace škálování systém odpojí vrstvu úložiště od výpočetních uzlů, přidá výpočetní uzly a pak znovu připojí vrstvu úložiště k výpočetní vrstvě.

Každý vyhrazený fond SQL je uložený jako 60 distribucí, které se rovnoměrně distribuují do výpočetních uzlů. Přidání dalších výpočetních uzlů zvyšuje výpočetní výkon. S rostoucím počtem výpočetních uzlů se počet distribucí na výpočetní uzel snižuje a poskytuje tak větší výpočetní výkon pro vaše dotazy. Stejně tak snížení jednotek DWU snižuje počet výpočetních uzlů, což snižuje výpočetní prostředky pro dotazy.

Následující tabulka ukazuje, jak se mění počet distribucí na výpočetní uzel při změně jednotek DWU. DW30000c poskytuje 60 výpočetních uzlů a dosahuje mnohem vyššího výkonu dotazů než DW100c.

Jednotky datového skladu Počet výpočetních uzlů Počet distribucí na uzel
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

Vyhledání správné velikosti jednotek datového skladu

Pokud chcete zobrazit výhody horizontálního navýšení kapacity, zejména u větších jednotek datového skladu, chcete použít alespoň sadu dat o velikosti 1 TB. Pro nalezení nejlepšího počtu jednotek DWU pro vyhrazený fond SQL zkuste zvyšovat a snižovat kapacitu. Po načtení dat spusťte několik dotazů s různými čísly DWU. Vzhledem k tomu, že škálování je rychlé, můžete vyzkoušet různé úrovně výkonu za hodinu nebo méně.

Doporučení pro určení nejlepšího počtu DWU:

  • Pro vyhrazený datový sklad SQL ve vývoji začněte výběrem menší hodnoty DWU. Dobrým výchozím bodem je DW400c nebo DW200c.
  • Monitorujte výkon aplikace a sledujte počet jednotek DWU vybraných v porovnání s výkonem, který sledujete.
  • Předpokládejme lineární měřítko a určete, kolik potřebujete zvýšit nebo snížit jednotky DWU.
  • Pokračujte v úpravách, dokud nedosáhnete optimální úrovně výkonu pro vaše obchodní požadavky.

Kdy rozšířit kapacitu

Horizontální navýšení kapacity jednotek DWU má vliv na tyto aspekty výkonu:

  • Lineárně zlepšuje výkon systému při prohledávání, agregacích a příkazech CTAS.
  • Zvyšuje počet čtenářů a zapisovačů pro načítání dat.
  • Maximální počet souběžných dotazů a slotů souběžnosti

Doporučení pro škálování jednotek DWU:

  • Před provedením náročné operace načítání nebo transformace dat vertikálně navyšte kapacitu, aby byla data k dispozici rychleji.
  • Během špičky můžete škálovat kapacitu tak, aby vyhovovala většímu počtu souběžných dotazů.

Co když rozšíření systému nezlepší jeho výkon?

Přidání jednotek DWU zvyšuje paralelismus. Pokud je práce rovnoměrně rozdělená mezi výpočetní uzly, další paralelismus zlepšuje výkon dotazů. Pokud horizontální navýšení kapacity nezmění váš výkon, existuje několik důvodů, proč k tomu může dojít. Vaše data můžou být v různých distribucích nerovnoměrná nebo dotazy můžou představovat velké množství přesunů dat. Pokud chcete prozkoumat problémy s výkonem dotazů, přečtěte si téma Řešení potíží s výkonem.

Pozastavení a obnovení výpočtů

Pozastavení výpočetních prostředků způsobí odpojení vrstvy úložiště od výpočetních uzlů. Výpočetní prostředky se z vašeho účtu uvolní. Při pozastavení výpočetních prostředků se vám neúčtují poplatky za výpočetní prostředky. Obnovení výpočetních prostředků znovu připojí úložiště k výpočetním uzlům a obnoví poplatky za výpočetní prostředky.

Když pozastavíte vyhrazený fond SQL:

  • Výpočetní prostředky a prostředky paměti se vrátí do fondu dostupných prostředků v datacentru.
  • Náklady na jednotku datového skladu jsou během pozastavení nulové.
  • Úložiště dat není ovlivněné a vaše data zůstanou nedotčená.
  • Všechny spuštěné nebo ve frontě zařazené operace jsou zrušeny.
  • Počítadla DMV se resetují.

Při obnovení vyhrazeného fondu SQL:

  • Vyhrazený fond SQL získává pro nastavení DWU výpočetní prostředky a prostředky paměti.
  • Výpočet poplatků pro obnovení výpočtů DWU.
  • Vaše data budou k dispozici.
  • Po online spuštění vyhrazeného fondu SQL je potřeba restartovat dotazy na úlohy.

Pokud chcete, aby byl vyhrazený fond SQL vždy přístupný, zvažte jeho snížení kapacity na nejmenší velikost, a ne pozastavení.

Postup pozastavení a obnovení najdete v rychlých startech webu Azure Portal nebo PowerShellu. Můžete také použít rozhraní REST API pro pozastavení nebo obnovení rozhraní REST API.

Vyprázdněte transakce před pozastavením nebo škálováním

Doporučujeme před spuštěním operace pozastavení nebo škálování počkat, až se dokončí existující transakce.

Když pozastavíte nebo škálujete vyhrazený fond SQL, dotazy se na pozadí zruší při zahájení žádosti o pozastavení nebo škálování. Zrušení jednoduchého dotazu SELECT je rychlá operace a nemá téměř žádný vliv na dobu potřebnou k pozastavení nebo škálování instance. Transakční dotazy, které upravují vaše data nebo strukturu dat, se ale nemusí rychle zastavit. Transakční dotazy se podle definice musí dokončit v celém rozsahu, nebo musí vrátit zpět provedené změny.

Vracení dokončené práce transakčního dotazu zpět může trvat stejně dlouho nebo dokonce déle, než původní změna, kterou dotaz prováděl. Pokud například zrušíte dotaz, který odstranil řádky a už hodinu běží, může systém trvat hodinu, než vrátí odstraněné řádky. Pokud spustíte pozastavení nebo škálování, zatímco probíhají transakce, může se zdát, že trvá dlouho, než se dokončí, protože pozastavení a škálování musí počkat na dokončení operace vrácení před pokračováním.

Další informace naleznete v tématu Použití transakcí a optimalizace transakcí.

Automatizace správy výpočetních prostředků

Chcete-li automatizovat operace správy výpočetních prostředků, viz Použití Azure Functions ke správě výpočetních prostředků pro váš vyhrazený SQL fond.

Dokončení jednotlivých operací škálování, pozastavení a obnovení může trvat několik minut. Pokud provádíte automatické škálování, pozastavení nebo obnovení, doporučujeme implementovat logiku, abyste měli jistotu, že se určité operace dokončí, než budete pokračovat v jiné akci. Kontrola stavu vyhrazeného fondu SQL prostřednictvím různých koncových bodů umožňuje správně implementovat automatizaci těchto operací.

Pokud chcete zkontrolovat stav vyhrazeného fondu SQL, projděte si rychlé starty pro PowerShell nebo T-SQL. Pomocí rozhraní REST API můžete také zkontrolovat stav vyhrazeného fondu SQL.

Oprávnění

Škálování vyhrazeného fondu SQL vyžaduje oprávnění popsaná v příkazu ALTER DATABASE. Pozastavení a obnovení vyžaduje roli Přispěvatel databáze SQL, konkrétně Microsoft.Sql/servers/databases/action.