Sdílet prostřednictvím


Doporučení pro optimalizaci výkonnosti dat

Vztahuje se na toto doporučení Power Platform Dobře uspořádaného kontrolního seznamu účinnosti výkonu:

PE:08 Optimalizujte výkonnost dat. Optimalizujte úložiště dat pro jejich zamýšlené a skutečné použití v úloze.

Tato příručka obsahuje doporučení pro optimalizaci výkonnosti dat. Optimalizace výkonnosti dat je o zdokonalování efektivity, se kterou úloha zpracovává a uchovává data. Každá operace, transakce nebo výpočet úlohy obvykle závisí na rychlém a přesném načtení, zpracování a uložení dat. Když je optimalizována výkonnost dat, úloha běží hladce. Oslabená výkonnost dat vytváří dominový efekt nízké efektivity výkonu. Selhání při optimalizaci výkonnosti dat má za následek zpožděné reakce, zvýšenou latenci a omezenou škálovatelnost. Ohrožuje efektivitu celé úlohy.

Definice

Pojem definice
Úložiště dat Prostředek, který uchovává data, jako je databáze, úložiště objektů nebo sdílení souborů.
Index Struktura databáze, která poskytuje rychlý přístup k položkám.
Online analytické zpracování (OLAP) Technologie, která uspořádává velké obchodní databáze, podporuje komplexní analýzy a provádí složité analytické dotazy, aniž by negativně ovlivnila transakční systémy.
Online zpracování transakcí (OLTP) Technologie, která zaznamenává obchodní interakce tak, jak k nim dochází v každodenních operacích organizace.
Dělení Proces fyzického dělení dat do samostatných datových úložišť.
Ladění dotazů Proces, který optimalizuje rychlost databázového dotazu.

Klíčové strategie návrhu

Chcete-li optimalizovat využití dat, zajistěte, aby úložiště dat byla optimalizována pro jejich zamýšlené použití a pro jejich skutečné použití v úloze. Optimalizované využití dat může zlepšit výkonnost dotazů, snížit spotřebu prostředků a zvýšit celkovou efektivitu systému. Zvažte následující strategie:

  • Data profilu. Mějte přehled o svých datech a zvolte datový model, který je vhodný pro vaši úlohu. Zvažte faktory, jako je normalizace dat a techniky dělení. Pro efektivní načítání dat se ujistěte, že jste vybrali vhodné datové typy a definovali vztahy mezi tabulkami.

  • Optimalizujte výkonnost dotazu. Analyzujte a optimalizujte dotazy, které běží v úloze. Používejte techniky, jako je optimalizace dotazů a ukládání do mezipaměti. K předběžnému filtrování dat použijte zobrazení na straně serveru. K identifikaci problémových míst použijte nástroje pro sledování výkonu a poté proveďte nezbytná vylepšení.

  • Pravidelně monitorujte a laďte systém. Nepřetržitě sledujte výkon své úlohy a iterujte konfiguraci úložiště dat a optimalizaci dotazů. Na základě osvědčených postupů ladění výkonu analyzujte systémové metriky, identifikujte oblasti zlepšení a implementujte změny. Jak data rostou, možná budete muset aktualizovat své dotazy, aby úloha zůstala výkonná.

Data profilu

Profilování dat zahrnuje zkoumání dat ze zdroje a shromažďování informací o nich. Cílem je porozumět kvalitě, struktuře a charakteristikám dat úlohy. Tento proces umožňuje identifikaci problémů, jako jsou chybějící hodnoty, duplikáty, nekonzistentní formáty a další anomálie.

Pro efektivní profilování dat zvažte následující strategie:

  • Mějte přehled o struktuře dat. Prozkoumejte strukturu svých dat, včetně tabulek, sloupců a vztahů. Určete datové typy, délky a omezení, která se použijí na každý sloupec. Vyhodnocení struktury dat vám pomůže pochopit, jak jsou data organizována a jak souvisí s jinými datovými prvky.

  • Analyzujte objem dat. Vyhodnoťte objem dat, abyste pochopili celkovou velikost a vzorce růstu. Určete počet záznamů nebo dokumentů a velikost jednotlivých tabulek nebo kolekcí. Tyto informace vám pomohou odhadnout požadavky na úložiště a identifikovat problémy se škálovatelností.

  • Identifikujte vztahy mezi daty. Prozkoumejte vztahy mezi datovými prvky. Pochopte, jak jsou data propojena, abyste mohli určit, jak mohou změny v jedné tabulce nebo dokumentu ovlivnit související data.

  • Vyhodnoťte kvalitu dat. Vyhodnoťte kvalitu svých dat prozkoumáním faktorů, jako je úplnost, přesnost, konzistence a jedinečnost. Identifikujte datové anomálie, chybějící hodnoty nebo duplicitní záznamy, které mohou ovlivnit integritu dat a výkonnost dotazů. Tento krok vám pomůže identifikovat oblasti pro čištění dat a zlepšování.

  • Podchyťte distribuci dat. Analyzujte rozložení hodnot v každém sloupci a specifikujte vzory dat. Identifikujte časté a vzácné hodnoty, odlehlé hodnoty a zkreslení dat. K optimalizaci výkonnosti dotazu analyzujte, zda by k zajištění lepšího výkonu nebyly vhodné alternativní klíče.

Monitorování výkonnosti dat

Monitorování výkonnosti dat znamená důsledné sledování efektivity datových úložišť. Zahrnuje shromažďování a analýzu metrik výkonu specifických pro datové operace pomocí nástrojů přizpůsobených řešením pro monitorování na úrovni systému, databáze nebo třetích stran. Efektivní monitorování výkonnosti dat umožňuje proaktivně identifikovat a zmírňovat potenciální problémová místa a zajistit, aby procesy a úkoly související s daty byly efektivní.

Chcete-li sledovat výkonnost dat, zvažte následující strategie:

  • Shromažďujte metriky specifické pro data. Shromažďujte klíčové metriky, které se přímo týkají výkonnosti dat. Tyto metriky zahrnují dobu reakce na dotazy a propustnost dat.

  • Nastavteupozornění na data. Nastavte si upozornění speciálně pro metriky dat. K aktivaci výstrah použijte předdefinované prahové hodnoty nebo anomálie v těchto metrikách. Výstrahy vám umožní přijímat oznámení, když metriky výkonnosti překročí přijatelný rozsah nebo vykazují abnormální chování; například pokud databázový dotaz trvá déle, než se očekávalo, nebo pokud výrazně poklesne propustnost dat. Tyto výstrahy můžete nastavit pomocí specializovaných monitorovacích nástrojů nebo vlastních skriptů.

  • Diagnostikujte problémy s výkonem. Pravidelně kontrolujte metriky shromážděných dat, abyste identifikovali potenciální problémová místa výkonnosti nebo zhoršení datových operací. V tomto procesu mohou být neocenitelné vizualizační nástroje nebo řídicí panely, které pomáhají zvýraznit trendy, problémová místa a odlehlé hodnoty ve výkonnosti dat. Po identifikaci prozkoumejte základní příčiny těchto problémů a naplánujte vhodné kroky k nápravě.

Dělení dat

Dělení dat znamená rozdělení velkých datových sad nebo velkoobjemových úloh do menších spravovatelných podmnožin. Dělení dat zvyšuje efektivitu výkonnosti dat distribucí úlohy a zlepšením paralelního zpracování. Rovněž zajišťuje efektivnější přístup k datům na základě specifických potřeb a vzorů dotazů. Data můžete dělit vertikálně nebo horizontálně (jinak také sharding). Pokud například používáte elastické tabulky Dataverse, zvažte, jaký by měl být dělicí klíč.

Strategie definice Příklad Případy použití
Vertikální rozdělení Rozdělte tabulku na menší tabulky výběrem konkrétních sloupců nebo polí pro každý oddíl. Každý oddíl představuje podmnožinu úplných dat. Pokud máte tabulku se sloupci A, B, C a D, můžete vytvořit jednu tabulku se sloupci A a B a další se sloupci C a D. - Tabulka obsahuje mnoho sloupců, ale dotazy nemají přístup ke všem sloupcům společně.
- Některé sloupce jsou větší než jiné a jejich oddělení může zvýšit výkon I/O.
- Různé datové části mají různé vzory přístupu.
Horizontální dělení Dělení dat na základě řádků nebo rozsahů hodnot (jinak také sharding). Každý oddíl obsahuje podmnožinu řádků s podobnými vlastnostmi. Pokud máte tabulku s řádky 1 až 1000, můžete vytvořit jeden oddíl s řádky 1 až 500 a další s řádky 501 až 1000. - Datová sada je příliš velká pro jedno umístění nebo server.
- Data jsou přístupná na základě specifických rozsahů nebo filtrů.
- Úlohu je třeba distribuovat mezi fyzické uzly nebo servery pro zvýšení výkonu.

Chcete-li dělit data, zvažte následující kroky:

  • Proveďte analýzu dat a dotazů. Analyzujte data a vzory dotazů, abyste mohli definovat vhodnou strategii dělení nebo shardingu. Seznamte se s povahou dat, vzory přístupu a požadavky na distribuci.

  • Určete klíč. Vyberte klíč pro dělení či sharding k distribuci dat mezi oddíly nebo fragmenty. Klíč pečlivě vyberte na základě charakteristik dat a požadavků na dotaz.

  • Určete logiku. Určete logiku dělení nebo shardingu na základě zvoleného klíče. Zvažte rozdělení dat do rozsahů s použitím algoritmů hash nebo použití jiných technik dělení.

Optimalizace dotazů

Optimalizace dotazů zpřesňuje dotazy, aby se snížil objem dat, která splňují podmínky, a vrácená data. Tyto úpravy zvyšují efektivitu a rychlost načítání dat. Výsledkem je, že databáze je méně vytížena, prostředky pracují efektivněji a uživatelé si užívají plynulejší interakce.

K optimalizaci databázových dotazů zvažte následující strategie:

  • Přepište dotazy. Zkontrolujte a zanalyzujte složité dotazy, abyste vyhledali místa, které je možné přepsat. Zvažte restrukturalizaci logiky dotazu, odstranění nadbytečných operací nebo zjednodušení syntaxe dotazu.

  • Vyhněte se problému s dotazem N+1. Minimalizujte počet zpátečních cest do databáze použitím spojení a dávkového načítání k efektivnímu získávání souvisejících dat.

  • Změňte pořadí spojení. Vyhodnoťte a zvažte změnu pořadí spojení, abyste minimalizovali počet řádků v každé operaci spojení. Pořadí, ve kterém spojujete tabulky, může ovlivnit výkon dotazu.

  • Dotazy ukládejte do mezipaměti. Výsledky často spouštěných dotazů uchovávejte pro snadné opětovné použití. Ukládání dotazů do mezipaměti eliminuje potřebu opakovaného spouštění stejného dotazu a snižuje režii pro zpracování dotazů.

  • Monitorujte a laďte. Monitorujte metriky výkonu dotazů, jako je doba běhu, využití prostředků a propustnost dotazů. Použijte nástroje pro profilování databáze a monitorovací funkce k identifikaci špatně fungujících dotazů. Tyto informace použijte k optimalizaci výkonu dotazu.

Archivujte a čistěte data

Archivace a čištění jsou strategie, které zefektivňují uchovávání dat. Archivace přemístí starší, méně často používaná data do cenově výhodnějšího úložiště. Čištění dat trvale odstraní nadbytečná data. Obě metody přispívají k efektivitě výkonu snížením objemu dat, zvýšením rychlosti přístupu k datům a zkrácením doby zálohování a obnovy.

  • Snížení objemu dat: Méně dat znamená rychlejší zpracování, což zajišťuje rychlé reakce na požadavky uživatelů.
  • Zvýšení rychlosti přístupu k datům: Zkrácená datová sada umožňuje rychlejší dotazy a načítání dat a optimalizuje odezvu systému.
  • Zkrácení doby zálohování a obnovy: Menší datové sady urychlují procesy zálohování a obnovy, minimalizují prostoje a zajišťují konzistentní výkon.

Archivace a čištění jsou zásadní pro udržení maximální účinnosti výkonu v systémech řízených daty.

Optimalizace zatížení úložiště

Optimalizace zatížení úložiště znamená zefektivnění požadavků na systém úložiště. Pomáhá eliminovat zbytečné požadavky, zlepšuje načítání dat a zabraňuje zahlcení systému úložiště. Optimalizace zatížení úložiště zajišťuje, že systém úložiště bude reagovat na legitimní požadavky a zachová si špičkový výkon. Implementujte strategie ke snížení zátěže zpracování v úložišti dat. K optimalizaci zatížení úložiště dat zvažte následující strategie.

Použití ukládání do mezipaměti

Ukládání do mezipaměti ukládá běžně přístupná data do oblasti úložiště s rychlým přístupem, takže získávání dat je rychlejší než jejich stahování z hlavního zdroje. Tato technika zvyšuje výkonnost dat tím, že zkracuje dobu přístupu a zabraňuje opakovanému načítání dat. Ukládání do mezipaměti zlepšuje rychlost čtení a dobu odezvy odpovědí, zejména u často používaných dat. Tato metoda je nejúčinnější pro statická data nebo data, která se jen zřídka mění.

Chcete-li zajistit optimální efektivitu ukládání do mezipaměti, zvažte faktory, jako jsou zásady vypršení platnosti, strategie vyřazení a správa velikosti mezipaměti. Pro optimální výkon upravte nastavení, například dobu životnosti (TTL). K použití mezipaměti pro optimalizaci zatížení úložiště zvažte následující strategie:

  • Ukládání do mezipaměti: Proveďte ukládání do mezipaměti pro ukládání často používaných dat do paměti pro rychlé načtení. Tuto techniku můžete použít pro data aplikací, jejichž výpočet nebo načítání z databáze je nákladné. Ukládání do mezipaměti je užitečné pro data, která často čtete, ale často se nemění. K ukládání dat do mezipaměti můžete použít například proměnné v cloudových tocích nebo kolekcích v aplikacích plátna.

  • Ukládání databázových dotazů do mezipaměti: Tuto techniku ​​použijte k ukládání výsledků databázových dotazů do mezipaměti, abyste se vyhnuli opakovanému spuštění stejného dotazu. Ukládání databázových dotazů do mezipaměti je užitečné pro složité a časově náročné databázové dotazy. Když uložíte výsledky dotazu do mezipaměti, následné požadavky na stejný dotaz se vrátí rychle. Zvažte také použití zobrazení na straně serveru tam, kde je to možné, k předběžnému filtrování dat, abyste zúžili data relevantní pro váš dotaz.

  • Síťové ukládání obsahu do mezipaměti: Tuto techniku ​​použijte k ukládání webového obsahu do mezipaměti na distribuovaných síťových serverech, abyste snížili latenci a zlepšili doručování obsahu. Síťové ukládání obsahu do mezipaměti sítě je efektivní pro statický obsah, jako jsou obrázky, soubory CSS a soubory JavaScript. Sítě pro doručování obsahu ukládají kopie obsahu na více místech po celém světě, takže uživatelé mohou přistupovat k obsahu ze serveru, který je geograficky blízko.

Optimalizace aktualizací dat

Optimalizace aktualizací dat zahrnuje vyhodnocení provedených aktualizací dat, aby bylo zajištěno, že jsou výkonné. Aktualizace mohou ovlivnit výkon více než jiné operace, protože mohou vyvolat zbytečnou práci a způsobit konflikty uzamčením.

K vyhodnocení, jak optimalizovat aktualizace dat, zvažte následující:

  • Změny dat. Optimalizujte automatizaci, aby používala předobrazy dat nebo filtry pro minimalizaci práce, pokud nedošlo k žádné skutečné změně. Nespouštějte automatizaci pro nezměněná data.

  • Automatizace. Na základě změn dat vyhodnoťte, kdy a jak se spouštějí aktualizace, a optimalizujte triggery, aby zahrnovaly filtr. Například aby se automatizace spustila pouze při změně určitého pole ve zdroji dat. Vyhodnoťte aktualizace, které postupně vícenásobně spouštějí automatizaci. Místo toho zvažte, zda můžete vytvořit vlastní operaci pro veškeré zpracování. Pokud je například odeslána objednávka a datum odeslání a číslo zásilky se aktualizují odděleně, obě mohou být aktualizovány současně ve vlastní operaci „Odeslání objednávky“.

  • Zablokování. Vyhodnoťte pomalé operace aktualizace, které by mohly způsobovat problémy kvůli více tokům, které aktualizují stejná data v různých sekvencích. Tato neefektivita může vést ke konfliktům uzamčením nebo dokonce k potenciálnímu zablokování, což má za následek zbytečné přepracování. Aktualizujte různé prostředky ve stejném pořadí, abyste minimalizovali spory.

  • Hromadné aktualizace. Pokud spouštíte operace na více řádcích tabulky, zvažte použití hromadných operací.

Optimalizace přesunutí a zpracování dat

Optimalizace přesunutí a zpracování dat zahrnuje zlepšení efektivity a výkonu operací souvisejících s extrakcí, transformací, načítáním a zpracováním dat. Zvažte následující klíčové aspekty optimalizace přesunutí a zpracování dat:

  • Optimalizace extrahování, transformace a načítání (ETL): Optimalizujte procesy ETL, abyste minimalizovali dobu zpracování. Můžete zefektivnit proces extrakce, implementovat účinné transformační algoritmy a optimalizovat proces načítání. Když zefektivníte každý krok, optimalizujete celkový pracovní postup.

  • Paralelní zpracování: Ke zlepšení výkonu použijte techniky paralelního zpracování. Když distribuujete úlohy zpracování dat mezi více vláken nebo uzlů, můžete rozdělit a zpracovat úlohu souběžně, což vede k rychlému zpracování.

  • Dávkové zpracování: Seskupte podobné úkoly, abyste snížili režii způsobenou opakovanými operacemi. Zpracujte více úloh v dávce, abyste zkrátili celkovou dobu zpracování.

Návrh blízkosti dat

Blízkost dat znamená strategické umístění dat blíže uživatelům nebo službám, které k nim přistupují nejčastěji. Snížení fyzické nebo logické vzdálenosti mezi daty a jejich uživateli zajišťuje rychlejší přístup k datům a lepší odezvu. K optimalizaci návrhu blízkosti zvažte tyto strategie:

  • Vyhodnoťte vzorce přístupu k datům: Zhodnoťte vzorce přístupu k vaší pracovní zátěži a často používaná data. Tato analýza vám pomůže určit, kam umístit data pro maximální užitek.

  • Vyberte si řešení, která podporují přemisťování dat: Zvažte řešení, která nabízejí dynamické přemisťování dat na základě měnících se vzorců přístupu a zajišťují optimální umístění dat.

  • Vyberte si řešení, která podporují synchronizaci dat: Pokud obsluhujete distribuovanou uživatelskou základnu, vyberte řešení, která umožňují synchronizaci dat napříč různými oblastmi, abyste zajistili dostupnost replik dat v blízkosti uživatelů.

Kompromis: Pokud se podkladová data často mění, implementujte mechanismus zneplatnění mezipaměti, abyste zajistili, že data uložená v mezipaměti zůstanou aktuální.

Usnadnění dáky Power Platform

Monitorování výkonu dat: Chcete-li sledovat výkon dat, zvažte použití Azure Monitor ke shromažďování a analýze metrik infrastruktury, protokolů a dat aplikací. Monitor můžete integrovat s dalšími službami, jako je Application Insights. Application Insights poskytuje monitorování výkonu aplikací a podporuje mnoho platforem.

Application Insights shromažďuje údaje o využití a výkonu. Můžete použít Log Analytics ke korelaci těchto dat s údaji o konfiguraci a výkonu napříč prostředky Azure. Datový tok Application Insights pro Dataverse aktuálně poskytuje údaje o výkonu související s příchozími voláními rozhraní API systému Dataverse, voláními spuštění modulu plug-in systému Dataverse a volání SDK systému Dataverse.

Optimalizujte vzory dat dotazů v aplikacích canvas: Řiďte se zdokumentovanými pokyny a návrhy. Viz Optimalizované vzory dat dotazů v Power Apps.

Optimalizujte způsob, jakým přizpůsobujete, rozšiřujete nebo integrujete s Dataverse: Řiďte se zdokumentovanými osvědčenými postupy a pokyny. Viz Doporučené postupy a pokyny pro používání Microsoft Dataverse

Optimalizujte databázové dotazy a výkon indexu: Použijte funkci přehledu výkonu dotazů Azure SQL Database k optimalizaci dotazů, tabulek a databází. Tuto funkci můžete použít také k identifikaci a odstraňování problémů s výkonností dotazů.

U relačních databází postupujte podle pokynů pro návrh indexu, průvodce indexem SQL Server a průvodce indexem Azure Cosmos DB. K zajištění lepšího výkonu dotazů použijte k jejich provádění automatické ladění služby SQL Database.

U databází SQL byste měli pravidelně reorganizovat nebo znovu sestavit indexy. Identifikujte pomalé dotazy a vylaďte je, abyste zlepšili výkon. Mnoho databázových strojů má funkce pro ladění dotazů. Další informace najdete v osvědčených postupech pro výkon dotazů.

Azure Cosmos DB má výchozí zásady indexování, které indexují každou vlastnost každé položky a vynucují indexy rozsahu pro jakýkoli řetězec nebo číslo. Tyto zásady pro vás zajistí efektivní výkon dotazů, přičemž nemusíte indexy spravovat předem.

Optimalizace zatížení úložiště: Mnoho databázových služeb Azure podporuje repliky pro čtení. Dostupnost a konfigurace replik pro čtení se liší v závislosti na databázové službě Azure. Podrobnosti a možnosti naleznete v oficiální dokumentaci každé služby.

Kontrolní seznam efektivity výkonu

Podívejte se na úplný soubor doporučení.