Sdílet prostřednictvím


Pokyny k výkonu datového skladu Synapse v Microsoft Fabric

Platí pro: Warehouse v Microsoft Fabric

Toto jsou pokyny, které vám pomůžou porozumět výkonu vašeho skladu v Microsoft Fabric. V tomto článku najdete pokyny a důležité články, na které se chcete zaměřit. Sklad v Microsoft Fabric je platforma SaaS, kde platforma spravuje interně aktivity, jako je správa úloh, souběžnost a správa úložiště. Kromě této interní správy výkonu můžete výkon ještě vylepšit tím, že budete vyvíjet výkonné dotazy na dobře navržené sklady.

Výkon studeného běhu (studená mezipaměť)

Ukládání do mezipaměti s místním ssd a pamětí je automatické. Prvních 1 až 3 spuštění dotazu je výrazně pomalejší než následné spuštění. Pokud dochází k problémům s výkonem studeného běhu, tady je několik věcí, které můžete udělat, abyste zlepšili výkon studeného běhu:

  • Pokud je výkon prvního spuštění zásadní, zkuste statistiku vytvořit ručně. Projděte si článek o statistikách, abyste lépe pochopili roli statistiky a pokyny k vytváření ručních statistik za účelem zlepšení výkonu dotazů. Pokud ale výkon prvního spuštění není kritický, můžete se spolehnout na automatické statistiky, které se vygenerují v prvním dotazu a budou se dál využívat v následných spuštěních (pokud se podkladová data výrazně nemění).

  • Pokud používáte Power BI, použijte režim Direct Lake tam, kde je to možné.

Metriky pro monitorování výkonu

V současné době centrum monitorování nezahrnuje sklad. Pokud zvolíte Datový sklad, nebudete mít přístup k centru monitorování z navigačního panelu.

Správci prostředků infrastruktury budou mít přístup k sestavě Využití kapacity a metriky pro aktuální informace sledující využití kapacity, která zahrnuje Sklad.

Monitorování spouštění dotazů pomocí zobrazení dynamické správy

Zobrazení dynamické správy (DMV) můžete použít k monitorování stavu připojení, relace a žádosti ve skladu.

Statistika

Sklad používá dotazovací modul k vytvoření plánu provádění pro daný dotaz SQL. Když odešlete dotaz, optimalizátor dotazů se pokusí vytvořit výčet všech možných plánů a zvolit nejúčinnějšího kandidáta. Aby bylo možné určit, který plán by vyžadoval nejmenší režijní náklady, musí být modul schopný vyhodnotit množství práce nebo řádků, které mohou být zpracovány jednotlivými operátory. Potom na základě nákladů každého plánu zvolí ten, který má nejmenší odhadovanou práci. Statistiky jsou objekty, které obsahují relevantní informace o vašich datech, aby optimalizátor dotazů mohl tyto náklady odhadnout.

Statistiky můžete aktualizovat také ručně po každém načtení dat nebo aktualizaci dat, abyste zajistili, že je možné vytvořit nejlepší plán dotazů.

Další informace o statistikách a o tom, jak můžete automaticky vytvořené statistiky rozšířit, najdete v tématu Statistika v datových skladech prostředků infrastruktury.

Pokyny pro příjem dat

Pro příjem dat do skladu existují čtyři možnosti:

  • COPY (Transact-SQL)
  • Datové kanály
  • Datové toky
  • Příjem dat mezi sklady

Pokud chcete zjistit, která možnost je pro vás nejvhodnější, a zkontrolovat některé osvědčené postupy příjmu dat, projděte si data Ingestování.

Seskupit příkazy INSERT do dávek (vyhněte se vkládání triků)

Jednorázové načtení do malé tabulky s příkazem INSERT, jako je znázorněno v následujícím příkladu, může být nejlepší v závislosti na vašich potřebách. Pokud ale potřebujete v průběhu dne načíst tisíce nebo miliony řádků, funkce INSERTS s jednímtonem nejsou optimální.

INSERT INTO MyLookup VALUES (1, 'Type 1') 

Pokyny k tomu, jak tyto scénáře složitého načítání zpracovat, najdete v tématu Osvědčené postupy pro ingestování dat.

Minimalizujte velikosti transakcí

Příkazy INSERT, UPDATE a DELETE se spouští v transakci. Když selžou, musí se vrátit zpět. Pokud chcete snížit potenciál dlouhého vrácení zpět, minimalizujte velikosti transakcí, kdykoli je to možné. Minimalizace velikostí transakcí je možné provést rozdělením příkazů INSERT, UPDATE a DELETE na části. Pokud máte například insert, který očekáváte, že bude trvat 1 hodinu, můžete rozdělit INSERT do čtyř částí. Každé spuštění se pak zkrátí na 15 minut.

Zvažte použití CTAS (Transact-SQL) k zápisu dat, která chcete zachovat v tabulce, místo použití delete. Pokud CTAS trvá stejnou dobu, je bezpečnější spustit, protože má minimální protokolování transakcí a v případě potřeby ho můžete rychle zrušit.

Kolace klientských aplikací a Microsoft Fabric

Pokud používáte klientské aplikace, ujistěte se, že používáte Microsoft Fabric v oblasti, která je blízko klientského počítače. Příklady klientských aplikací zahrnují Power BI Desktop, SQL Server Management Studio a Azure Data Studio.

Využití návrhu dat hvězdicového schématu

Hvězdicové schéma uspořádá data do tabulek faktů a dimenzí. Návrh hvězdicového schématu usnadňuje analytické zpracování zrušením normalizace dat z vysoce normalizovaných systémů OLTP, ingestování transakčních dat a podnikových hlavních dat do společné, vyčištěné a ověřené datové struktury, která minimalizuje spojení JOINS v době dotazu, snižuje počet řádků pro čtení a usnadňuje agregace a seskupování zpracování.

Další pokyny k návrhu skladu najdete v tématu Tabulky v datových skladech.

Zmenšení velikosti sad výsledků dotazu

Omezení velikosti sad výsledků dotazů pomáhá vyhnout se problémům na straně klienta způsobeným velkými výsledky dotazů. Sady výsledků editoru dotazů SQL jsou omezené na prvních 10 000 řádků, aby se zabránilo těmto problémům v tomto uživatelském rozhraní založeném na prohlížeči. Pokud potřebujete vrátit více než 10 000 řádků, použijte SQL Server Management Studio (SSMS) nebo Azure Data Studio.

Výběr nejlepšího datového typu pro zajištění výkonu

Při definování tabulek použijte nejmenší datový typ, který podporuje vaše data, protože tím se zlepší výkon dotazů. Toto doporučení je důležité pro sloupce CHAR a VARCHAR. Pokud má nejdelší hodnota v sloupci 25 znaků, nadefinujte typ sloupce jako VARCHAR(25). Vyhněte se definování všech sloupců znaků s velkou výchozí délkou.

Pokud je to možné, použijte datové typy založené na celých číslech. Operace SORT, JOIN a GROUP BY jsou u celých čísel dokončeny rychleji než u znakových dat.

Podporované datové typy a další informace najdete v tématu datové typy.