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 vysvětluje, jak určit velikost, škálovat a spravovat fronty dotazů pro datové sklady SQL Databricks za účelem optimalizace výkonu a nákladů. Databricks doporučuje pro většinu úloh používat bezserverový SQL Warehouse. Bezserverové sklady SQL poskytují nejlepší výkon a efektivitu díky dynamické správě prostředků pro vaše dotazy.
Bezserverová správa SQL Warehouse
Bezserverové sklady SQL používají inteligentní správu úloh (IWM) k automatické správě úloh dotazů. IWM je sada funkcí využívajících AI, které zpracovávají dotazy rychle a nákladově efektivně, aniž byste museli spravovat infrastrukturu.
Inteligentní správa úloh a automatické škálování
IWM používá modely strojového učení k dynamické správě výpočetních prostředků:
- Když dorazí nový dotaz, IWM predikuje požadavky na prostředky a zkontroluje dostupnou kapacitu.
- Pokud existuje kapacita, dotaz se spustí okamžitě.
- Pokud ne, dotaz se umístí do fronty.
- IWM nepřetržitě monitoruje frontu. Pokud se doba čekání zvýší, automatické škálování rychle zřídí více clusterů pro zpracování dotazů zařazených do fronty.
- Když poptávka klesne, IWM sníží množství prostředků, aby snížil náklady, a současně zachová dostatečnou kapacitu pro zvládnutí nedávných špiček.
Tento přístup poskytuje:
- Rychlé škálování pro zachování nízké latence dotazů
- Vysoká propustnost tím, že přijme dotazy, jakmile bude hardware k dispozici.
- Rychlé snížení kapacity, abyste ušetřili náklady během nízké poptávky.
Dimenzování bezserverového datového skladu SQL
Velikost clusteru (například X-Small, Medium, Large) určuje výpočetní prostředky dostupné pro jeden cluster. Automatické škálování podle potřeby přidá nebo odebere clustery této velikosti.
Při výběru správné velikosti vám pomůžou následující pokyny:
- Začněte s jedním větším skladem a nechte funkce bez serveru spravovat souběžnost a výkon. V případě potřeby je obvykle efektivnější snížit kapacitu, než začít s malými a postupně navyšovat.
- Pokud dotazy přetékají na disk, zvětšete velikost clusteru. Zkontrolujte přetečení v profilu dotazu.
- Pro úlohy s mnoha souběžnými dotazy nakonfigurujte dostatečný maximální počet clusterů pro zpracování zatížení ve špičce. Monitorujte metriku Dotazů ve frontě ve špičce na stránce monitorování skladu.
Poznámka:
V případě bezserverových SQL skladišť mohou velikosti clusterů v některých případech využívat různé typy instancí než ty, které jsou uvedené v dokumentaci pro profesionální a klasická SQL skladiště pro ekvivalentní velikost clusteru. Obecně platí, že poměr ceny a výkonu pro velikosti clusterů bezserverových úložišť SQL je podobný poměru pro profesionální a klasická úložiště SQL.
Vypršení časového limitu příkazu
Důležité
Časové limity příkazů na úrovni skladu jsou v beta verzi. Správce pracovního prostoru musí na stránce Previews povolit náhled Časový limit příkazu skladu. Podívejte se na Správa náhledů Azure Databricks.
Pro konkrétní sklad SQL Warehouse můžete nastavit časový limit příkazu SQL tak, aby se dlouho běžící dotazy na tomto skladu po době, kterou zadáte, ukončily z důvodu vypršení časového limitu. Časový limit na úrovni skladu použijte, když různé sklady spouštějí úlohy s různými očekávanými dobami běhu.
Nastavte časový limit v poli statement_timeout v rozhraních API pro vytvoření nebo aktualizaci skladu. Podrobnosti včetně rozsahu hodnot, postupu zrušení časového limitu a chování při restartu najdete v tématu Časový limit na úrovni skladu.
Pokud je časový limit nastavený v několika oborech, má relace přednost před skladem, který má přednost před pracovním prostorem. Podrobnosti najdete v tématu Priorita.
Monitorování výkonu skladu
Pomocí těchto nástrojů můžete monitorovat a určit správnou velikost libovolného SQL Warehouse. Maximální počet dotazů ve frontě pro všechny typy skladů je 1 000.
- Stránka monitorování: Na kartě sledování SQL Warehouse zkontrolujte dotazy s nejvyšší čekající frontou. Konzistentní hodnota nad 0 značí, že možná budete potřebovat větší velikost clusteru nebo více clusterů.
- Historie dotazů: Zkontrolujte historický výkon dotazů a identifikujte kritické body.
- Profil dotazu: Zkontrolujte plány provedení pro metriky, jako jsou bajty přeteklé na disk, což značí, že velikost skladu může být příliš malá.
Klasické a profesionální služby SQL Warehouse
Klasické a profesionální sklady používají model ručního škálování, ve kterém konfigurujete počet clusterů.
Stanovení velikosti a zřizování clusteru
Důležité
Velikost clusteru 5X-Large je ve verzi Public Preview pro pro a bezserverové sklady SQL ve všech oblastech. Správci pracovního prostoru můžou řídit přístup k této funkci ze stránky Previews . Podívejte se na Správa náhledů Azure Databricks.
Při vytváření klasického nebo pro skladu zvolte velikost clusteru a nastavte minimální a maximální počet clusterů. Tyto skladové položky mají pevný limit jednoho clusteru na 10 souběžných dotazů.
| Velikost clusteru | Typ instance ovladače | Počet pracovníků |
|---|---|---|
| 2X-small | Standard_E8ds_v4 | 1 x Standard_E8ds_v4 |
| X-Small | Standard_E8ds_v4 | 2 x Standard_E8ds_v4 |
| Malá | Standard_E16ds_v4 | 4 × Standard_E8ds_v4 |
| Střední | Standard_E32ds_v4 | 8 x Standard_E8ds_v4 |
| Velká | Standard_E32ds_v4 | 16 x Standard_E8ds_v4 |
| X-Large | Standard_E64ds_v4 | 32 x Standard_E8ds_v4 |
| 2X-Large | Standard_E64ds_v4 | 64 x Standard_E8ds_v4 |
| 3X-Large | Standard_E64ds_v4 | 128 x Standard_E8ds_v4 |
| 4X-Large | Standard_E64ds_v4 | 256 x Standard_E8ds_v4 |
| 5X-Large | Standard_E64ds_v4 | 512 x Standard_E8ds_v4 |
Velikost instance všech pracovních procesů je Standard_E8ds_v4.
Každý řidič a pracovník má připojený jeden spravovaný disk SSD úrovně Premium 256 GB. Připojené disky se účtují každou hodinu.
Požadovaná kvóta virtuálních procesorů Azure pro služby Classic a Pro SQL Warehouse
Pokud chcete spustit klasický nebo pro SQL Warehouse, musíte mít odpovídající kvótu virtuálních procesorů Azure pro Standard_E8ds_v4 instance ve vašem účtu Azure. Pomocí následujících pokynů určete požadovanou kvótu vCPU:
Pokud máte jenom jeden nebo dva sklady SQL, ověřte, že máte k dispozici 8 virtuálních procesorů Azure pro každé jádro v clusteru. Tím zajistíte, že máte odpovídající virtuální procesor Azure, abyste umožnili opětovné zřizování vašeho skladu, což se děje přibližně každých 24 hodin. Pokud vaše služby SQL Warehouse používají automatické škálování nebo vyrovnávání zatížení s více clustery, může být potřeba násobitel zvýšit.
- S rostoucím počtem skladů SQL povolte pro každé jádro v clusteru 4 až 8 virtuálních procesorů Azure. Databricks doporučuje začít větším počtem a monitorováním stability.
- Virtuální procesory Azure používané službami SQL Warehouse jsou kromě virtuálních procesorů Azure používaných clustery používanými Data Science & Engineering nebo jinými úlohami než Databricks.
Pokud chcete požádat o další kvótu virtuálních procesorů Azure, přečtěte si téma Standardní kvóta: Zvýšení limitů podle řad virtuálních počítačů v dokumentaci k Azure.
Poznámka:
Informace v této tabulce se mohou lišit v závislosti na dostupnosti produktu nebo oblasti a typu pracovního prostoru.
Logika řízení front a automatického škálování
U klasických a profesionálních skladů automatické škálování přidá clustery podle odhadované doby potřebné ke zpracování všech spuštěných a zařazených dotazů do fronty.
- 2–6 minut načítání dotazů: Přidejte 1 klastr.
- 6–12 minut: Přidejte 2 clustery.
- 12–22 minut: Přidejte 3 klastry.
- Více než 22 minut: Přidejte 3 clustery a dalších 1 pro každých dalších 15 minut zatížení.
Další pravidla:
- Pokud dotaz čeká ve frontě po dobu 5 minut, datový sklad navýší kapacitu.
- Pokud zatížení po dobu 15 po sobě jdoucích minut zůstane nízké, sklad se z daného období škáluje na minimum potřebné ke zvládnutí zatížení ve špičce.