důležitost úlohy Azure Synapse Analytics

Tento článek vysvětluje, jak může důležitost úloh ovlivnit pořadí provádění požadavků vyhrazeného fondu SQL v Azure Synapse.

Důležitost

Obchodní potřeby můžou vyžadovat, aby úlohy datových skladů byly důležitější než jiné. Představte si scénář, ve kterém se důležitá data o prodeji načtou před uzavřením fiskálního období. Načtení dat pro jiné zdroje, jako jsou data o počasí, nemají striktní smlouvy SLA. Nastavení vysoké důležitosti pro požadavek na načtení prodejních dat a nízké důležitosti požadavku na načtení dat o počasí zajistí, že načtení prodejních dat získá první přístup k prostředkům a dokončí se rychleji.

Úrovně důležitosti

Existuje pět úrovní důležitosti: nízká, below_normal, normální, above_normal a vysoká. Požadavkům, které nenastavují důležitost, se přiřadí výchozí normální úroveň. Požadavky se stejnou úrovní důležitosti mají stejné chování při plánování jako dnes.

Scénáře důležitosti

Kromě výše popsaného scénáře základní důležitosti s daty o prodeji a počasí existují i další scénáře, ve kterých důležitost úloh pomáhá plnit požadavky na zpracování dat a dotazování.

Uzamčení

Přístup k zámkům pro aktivity čtení a zápisu je jednou z oblastí přirozených kolizí. Aktivity, jako je přepínání oddílů nebo PŘEJMENOVÁNÍ OBJEKTU , vyžadují zvýšené zámky. Bez důležitosti úloh se vyhrazený fond SQL v Azure Synapse optimalizuje pro propustnost. Optimalizace propustnosti znamená, že pokud spuštěné požadavky a požadavky ve frontě mají stejné požadavky na zamykání a jsou k dispozici prostředky, můžou požadavky ve frontě obejít požadavky s vyššími požadavky na uzamčení, které do fronty žádostí dorazily dříve. Jakmile se důležitost úloh uplatní na požadavky s vyššími požadavky na uzamykání. Požadavek s vyšší důležitostí se spustí před žádostí s nižší důležitostí.

Uvažujte následující příklad:

  • Q1 aktivně běží a vybírá data z SalesFact.
  • Q2 je ve frontě a čeká na dokončení Q1. Byla odeslána v 9:00 a pokouší se převést nová data na SalesFact.
  • Q3 se odešle v 9:01 a chce vybrat data z SalesFact.

Pokud Q2 a Q3 mají stejnou důležitost a Q1 se stále spouští, Q3 začne spouštět. Q2 bude dál čekat na výhradní zámek na SalesFact. Pokud má Q2 vyšší důležitost než 3. čtvrtletí, počká na dokončení Q2, než začne s prováděním.

Nejednotné požadavky

Dalším scénářem, kdy důležitost může pomoct splnit požadavky dotazů, je odeslání požadavků s různými třídami prostředků. Jak už bylo zmíněno dříve, se stejnou důležitostí je vyhrazený fond SQL v Azure Synapse optimalizovaný pro propustnost. Když jsou požadavky na smíšenou velikost (například smallrc nebo mediumrc) zařazené do fronty, vyhrazený fond SQL zvolí nejstarší příchozí požadavek, který se vejde do dostupných prostředků. Pokud se použije důležitost úlohy, naplánuje se žádost o nejvyšší důležitost jako další.

Podívejte se na následující příklad na DW500c:

  • Q1, Q2, Q3 a Q4 spouštět dotazy smallrc.
  • Q5 se odešle s třídou prostředku mediumrc v 9:00.
  • Q6 se odešle s třídou prostředků smallrc v 9:01.

Vzhledem k tomu, že Q5 je mediumrc, vyžaduje dva sloty souběžnosti. Q5 musí počkat na dokončení dvou spuštěných dotazů. Po dokončení jednoho ze spuštěných dotazů (Q1–Q4) se ale Q6 naplánuje okamžitě, protože existují prostředky pro spuštění dotazu. Pokud má Q5 vyšší důležitost než Q6, Q6 počká na spuštění Q5, než začne spouštět.

Další kroky