Sdílet prostřednictvím


Strategie architektury pro optimalizaci výkonu dat

Platí pro toto doporučení kontrolního seznamu efektivity výkonu architektury Azure Well-Architected:

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

Tato příručka popisuje doporučení pro optimalizaci výkonu dat. Optimalizace výkonu dat spočívá v upřesnění efektivity, se kterou zatížení zpracovává a ukládá data. Každá operace úlohy, transakce nebo výpočty obvykle závisí na rychlém a přesném načítání, zpracování a ukládání dat. Při optimalizaci výkonu dat běží úloha hladce. Ohrožený výkon dat vytváří dominový efekt nízké efektivity výkonu. Selhání optimalizace výkonu dat vede ke zpožděním odezvy, zvýšení latence a omezení škálovatelnosti. Je ohrožena efektivitou celé úlohy.

Definice

Term Definition
CAP teorém Architektura používaná k zvážení konzistence, dostupnosti a tolerance oddílů, která pomáhá vysvětlit kompromisy v konzistenci dat.
Opětovné sestavení indexu databáze Aktivita údržby, která zahodí a znovu vytvoří index.
Změna uspořádání indexu databáze Aktivita údržby, která optimalizuje aktuální index databáze.
Úložiště dat Prostředek, který ukládá data, jako je databáze, úložiště objektů nebo sdílená složka.
Konečná konzistence Model synchronizace dat, který umožňuje dočasnou konzistenci v replikách dat, než se nakonec synchronizují.
Index Struktura databáze, která poskytuje rychlý přístup k položkám.
Online analytické zpracování (OLAP) Technologie, která organizuje velké podnikové databáze, podporuje komplexní analýzu a provádí složité analytické dotazy, aniž by to negativně ovlivnilo transakční systémy.
Online zpracování transakcí (OLTP) Technologie, která zaznamenává obchodní interakce, jak se vyskytují v každodenních operacích organizace.
Optimistická souběžnost Přístup k aktualizaci databází, které používají snímky k provádění aktualizací místo tradičních mechanismů uzamčení, zlepšení výkonu a škálovatelnosti.
Teorém PACELC Architektura, která se používá k zvážení tolerance oddílů, dostupnosti, konzistence a latence, která pomáhá vysvětlit kompromisy v konzistenci dat.
Partitioning Proces fyzického rozdělení dat do samostatných úložišť dat.
Ladění dotazů Proces, který optimalizuje rychlost databázového dotazu.
Replika pro čtení Živá kopie primární databáze, která umožňuje přesměrovat přenosy čtení z databáze zápisu.

Pokud chcete optimalizovat využití dat, ujistěte se, že úložiště dat, oddíly a indexy jsou optimalizované pro jejich zamýšlené použití a pro jejich skutečné použití v úloze. Optimalizované využití dat může zlepšit výkon dotazů, snížit spotřebu prostředků a zvýšit celkovou efektivitu systému. Zvažte následující strategie:

  • Profilová data. Seznamte se s daty a ujistěte se, že je váš datový model vhodný pro vaši úlohu. Zvažte faktory, jako jsou normalizace dat, strategie indexování a techniky dělení. Pro efektivní načítání dat se ujistěte, že vyberete vhodné datové typy, definujete vztahy mezi entitami a určíte optimální strategii indexování.

  • Dolaďte konfiguraci úložiště dat. Nakonfigurujte infrastrukturu úložiště dat tak, aby odpovídala vašim požadavkům na úlohy. Vyberte odpovídající technologii úložiště, například relační databáze, databáze NoSQL a datové sklady. Optimalizujte nastavení úložiště, jako je velikost vyrovnávací paměti, mechanismy ukládání do mezipaměti a komprese.

  • Optimalizujte výkon dotazů. Analyzujte a optimalizujte dotazy, které běží v úloze. Použijte techniky, jako je optimalizace dotazů, indexování a ukládání do mezipaměti. K identifikaci kritických bodů použijte plány dotazů a nástroje pro monitorování výkonu a proveďte potřebná vylepšení.

  • Pravidelně monitorujte a vylaďte systém. Nepřetržitě monitorujte výkon úlohy a iterujte konfiguraci úložiště dat a optimalizace dotazů. Na základě osvědčených postupů ladění výkonu analyzujte systémové metriky, identifikujte oblasti zlepšování a implementujte změny.

Profilová data

Profilace dat zahrnuje zkoumání dat ze zdroje a shromažďování informací o něm. Cílem je porozumět kvalitě, struktuře a charakteristikám dat úloh. Tento proces umožňuje identifikaci problémů, jako jsou chybějící hodnoty, duplicity, nekonzistentní formáty a další anomálie. Pro efektivní profilaci dat zvažte následující strategie:

  • Seznamte se se strukturou dat. Prozkoumejte strukturu dat, včetně tabulek, sloupců a relací. Určete datové typy, délky a omezení, která se použijí pro každý sloupec. Vyhodnocení datové struktury vám pomůže pochopit, jak jsou data uspořádaná a jak souvisí s jinými datovými prvky.

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

  • Identifikujte relace dat. Prozkoumejte vztahy mezi datovými prvky, jako jsou relace primárního a cizího klíče. Zjistěte, jak jsou data připojená, abyste mohli určit, jak změny v jedné tabulce nebo dokumentu můžou mít vliv na související data.

  • Posouzení kvality dat Vyhodnoťte kvalitu dat zkoumá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é by mohly ovlivnit integritu dat a výkon dotazů. Tento krok vám pomůže identifikovat oblasti čištění a vylepšování dat.

  • Zachytávání distribuce dat Analyzujte rozdělení hodnot v jednotlivých sloupcích a určete vzory dat. Identifikujte časté a vzácné hodnoty, odlehlé hodnoty a nerovnoměrné distribuce dat. Pokud chcete optimalizovat výkon dotazů, zvolte vhodné strategie indexování a techniky optimalizace dotazů na základě distribuce.

Monitorování výkonu dat

Monitorování výkonu dat je postup konzistentního sledování efektivity úložišť dat, oddílů a indexů v reálném čase. Zahrnuje shromažďování a analýzu metrik výkonu specifických pro operace s daty pomocí nástrojů přizpůsobených pro řešení monitorování na úrovni systému, databáze nebo řešení monitorování třetích stran. Efektivní monitorování výkonu dat umožňuje proaktivně identifikovat a zmírnit potenciální kritické body a zajistit efektivní procesy a úlohy související s daty. Pokud chcete monitorovat výkon dat, zvažte následující strategie:

  • Shromážděte metriky specifické pro data. Shromážděte klíčové metriky, které přímo souvisejí s výkonem dat. Mezi tyto metriky patří doby odezvy dotazů, propustnost dat, vstupně-výstupní operace disku související s přístupem k datům a doby načítání konkrétních datových oddílů.

  • Nastavení upozornění na data Nastavte upozornění speciálně pro metriky dat. K aktivaci upozornění použijte předdefinované prahové hodnoty nebo anomálie v těchto metrikách. Výstrahy umožňují přijímat oznámení, když metriky výkonu překračují přijatelné rozsahy nebo zobrazují neobvyklé chování. Pokud například databázový dotaz trvá déle, než se čekalo, nebo pokud propustnost dat výrazně klesne, aktivovalo by upozornění. Tato upozornění můžete nastavit pomocí specializovaných monitorovacích nástrojů nebo vlastních skriptů.

  • Diagnostika problémů s výkonem dat Pravidelně kontrolujte shromážděné metriky dat, abyste mohli určit potenciální kritické body výkonu nebo snížení výkonu při operacích s daty. Nástroje vizualizace nebo řídicí panely mohou být v tomto procesu neocenitelné, což pomáhá zvýraznit trendy, kritické body a odlehlé hodnoty výkonu dat. Po identifikaci se ponořte do původních příčin těchto problémů a proveďte strategii vhodných kroků pro nápravu.

Dělení dat

Dělení zahrnuje rozdělení velkých datových sad nebo úloh s velkým objemem na menší a spravovatelné podmnožina. Dělení zvyšuje efektivitu výkonu dat tím, že distribuuje úlohu a zlepšuje paralelní zpracování. Zajišťuje také efektivnější přístup k datům na základě konkrétních potřeb a vzorů dotazů. Data můžete rozdělit svisle nebo vodorovně (označuje se také jako horizontální dělení).

Strategie Definition Example Případy použití
Vertikální dělení Tabulku rozdělíte 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 druhou se sloupci C a D. – Tabulka obsahuje mnoho sloupců, ale dotazy nemají přístup ke všem sloupcům dohromady.
– Některé sloupce jsou větší než jiné a jejich oddělení může zvýšit výkon vstupně-výstupních operací.
– Různé datové části mají různé vzory přístupu.
Horizontální dělení Rozdělení dat na základě řádků nebo rozsahů hodnot (označovaných také jako horizontální dělení) Každý oddíl obsahuje podmnožinu řádků s podobnými vlastnostmi. Pokud máte tabulku s řádky 1 až 1 000, 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ě konkrétních rozsahů nebo filtrů.
– Kvůli lepšímu výkonu je potřeba distribuovat úlohy mezi fyzické uzly nebo servery.

Pokud chcete data rozdělit, zvažte následující kroky:

  • Analýza dat a dotazů Analyzujte data a vzory dotazů a identifikujte vhodné strategie dělení nebo horizontálního dělení. Seznamte se s povahou dat, vzorů přístupu a požadavků na distribuci.

  • Určete klíč. Zvolte klíč dělení nebo horizontálního dělení, který distribuuje data mezi oddíly nebo horizontální oddíly. Pečlivě vyberte klíč na základě charakteristik dat a požadavků na dotazy.

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

  • Nakonfigurujte infrastrukturu. Nakonfigurujte databázový systém tak, aby podporoval dělení nebo horizontální dělení. Zvažte vytvoření potřebné infrastruktury, definování oddílů nebo horizontálních oddílů a konfiguraci distribuce dat.

Další informace najdete v doprovodných materiálech k dělení dat.

Optimalizace databázových dotazů

Optimalizace databázových dotazů zpřesňuje dotazy pomocí technik, jako jsou nápovědy k indexu a ukládání do mezipaměti. Tyto úpravy zvyšují efektivitu a rychlost načítání dat. V důsledku toho má databáze lehčí úlohu, prostředky fungují efektivněji a uživatelé mají plynulejší interakce. Při optimalizaci databázových dotazů zvažte následující strategie:

  • Přepište dotazy. Zkontrolujte a analyzujte složité dotazy a identifikujte příležitosti k jejich přepsání. Zvažte restrukturalizaci logiky dotazů, eliminujte redundantní operace nebo zjednodušte syntaxi dotazů.

  • Vyhněte se problému s dotazem N+1. Minimalizujte počet zaokrouhlování do databáze pomocí spojení a dávkového načítání pro efektivní načtení souvisejících dat.

  • Změnit pořadí spojení. Vyhodnoťte plán dotazu a zvažte uspořádání pořadí spojení, abyste minimalizovali počet řádků v každé operaci spojení. Pořadí, ve kterém spojíte tabulky, může ovlivnit výkon dotazů.

  • Použijte nápovědu k indexu. Používejte nápovědy indexů, aby databázový stroj mohl při spuštění dotazu určit použití indexů. Nápovědy k indexu vedou optimalizátora k výběru nejvhodnějších indexů.

  • Ukládání dotazů do mezipaměti Uložte výsledky často spouštěných dotazů do paměti. Ukládání dotazů do mezipaměti eliminuje potřebu opakovaného spuštění stejného dotazu a snižuje režii na zpracování dotazů.

  • Optimalizujte uzamykání. Vyhněte se zbytečným nebo omezujícím tipům zámků v dotazech. Efektivní strategie uzamykání můžou zvýšit výkon a souběžnost dotazů. Použijte optimalizované mechanismy uzamčení, které poskytuje databázový systém. Analyzujte a upravte úrovně izolace, abyste vyvážit konzistenci dat a výkon dotazů.

  • Monitorování a ladění Monitorujte metriky výkonu dotazů, jako jsou modul runtime, využití prostředků a propustnost dotazů. K identifikaci špatně výkonných dotazů použijte nástroje pro profilaci databáze a funkce monitorování. Vyhodnoťte a vylaďte plány dotazů na základě shromážděných dat o výkonu. Analyzujte plány dotazů a počkejte na zjištění kritických bodů. Tyto informace použijte k optimalizaci výkonu dotazů.

Optimalizace výkonu indexu

Indexy zvyšují rychlost načítání dat tím, že databázím umožňují rychle vyhledávat data pomocí konkrétních sloupců nebo polí. Při optimalizaci těchto indexů se operace řazení a spojení stávají efektivnějšími, což vede k rychlejším dotazům. Dobře optimalizované indexy se vyříznou na vstupně-výstupní operace disku vyžadované pro dotazy. Odebrání nepotřebných nebo redundantních indexů také uvolní cenné místo v úložišti. Pokud chcete optimalizovat výkon indexu, zvažte následující strategie:

  • Analýza vzorů dotazů Seznamte se se vzory dotazů, které běží ve vaší databázi. Identifikujte dotazy, které se spouštějí často a můžou snížit výkon. Analyzujte vzory dotazů a určete, které indexy jsou užitečné pro optimalizaci výkonu.

  • Vyhodnotí existující indexy. Zkontrolujte existující indexy v databázi. Vyhodnoťte jejich využití, efekty výkonu a relevanci pro vzory dotazů. Identifikujte redundantní nebo nepoužívané indexy, které můžete odebrat, abyste zlepšili výkon zápisu a snížili režijní náklady na úložiště.

  • Identifikujte sloupce pro indexování. Identifikujte sloupce, které se často používají v klauzulích where,join a order by vaše dotazy. Tyto sloupce jsou potenciálními kandidáty pro indexování, protože umožňují rychlé načítání dat.

  • Zvolte odpovídající typ indexu. Vyberte odpovídající typ indexu na základě vašeho databázového systému. Mezi běžné možnosti patří indexy b-tree pro dotazy rovnosti a rozsahu, indexy hash pro přesné shody dotazů a fulltextové indexy pro operace vyhledávání textu. Zvolte typ indexu, který nejlépe odpovídá vašim požadavkům na dotazy.

  • Zvažte pořadí sloupců indexu. Při vytváření složených indexů nebo indexů s více sloupci zvažte pořadí sloupců. Umístěte sloupce, které se nejčastěji používají v dotazech na začátku indexu. Pořadí sloupců pomáhá zajistit, aby vaše úloha efektivně používala indexy pro širokou škálu dotazů.

  • Vyvážení velikosti indexu Vyhněte se vytváření indexů u sloupců s nízkou kardinalitou nebo sloupci s nízkým počtem jedinečných hodnot. Tyto indexy můžou být neefektivní a zvětšit velikost databáze. Místo toho indexovací sloupce, které mají vysokou selektivitu.

  • Udržujte využití indexu. Nepřetržitě monitorujte využití a výkon indexů. Hledejte příležitosti k vytváření nových indexů nebo úpravám existujících indexů na základě změn ve vzorech dotazů nebo požadavcích na výkon. Odeberte nebo aktualizujte indexy, které už nejsou přínosné. Indexy mají režijní náklady na údržbu. Při změnách dat můžou indexy fragmentovat a ovlivnit výkon. Pravidelně provádí úlohy údržby indexů, jako je opětovné sestavení nebo změna uspořádání indexů, aby byl zajištěn optimální výkon.

  • Otestujte a ověřte. Před úpravou indexů v produkčním prostředí proveďte důkladné testování a ověření. Změřte výkon revizí indexů pomocí reprezentativních úloh. Ověřte vylepšení předdefinovaných srovnávacích testů.

Kompromis: Indexy B-tree můžou mít vysoké režijní náklady na úložiště a dotazy přesné shody můžou být pomalé. Indexy hash nejsou vhodné pro dotazy na rozsah ani operátory porovnání. Fulltextové indexy můžou mít vysoké požadavky na úložiště a netextové dotazy na data můžou být pomalé.

Zvážení komprese dat

Komprese dat je proces zmenšení velikosti dat pro optimalizaci prostoru úložiště a zvýšení efektivity výkonu úloh. Komprimovaná data vyžadují méně místa úložiště a menší šířku pásma pro přenos, což vede k rychlému přenosu dat. Zkomprimujete data, abyste snížili nároky na úložiště a zlepšili dobu přístupu k datům. Když komprimujete data, sníží se požadavky na vstupně-výstupní operace a šířku pásma sítě.

Bezeztrátová komprese a komprese pro ztrátu jsou algoritmy komprese dat. Bezeztrátové algoritmy komprese zmenšují velikost dat bez ztráty informací. Algoritmy pro ztrátu komprese dosahují vysokého poměru komprese odebráním méně důležitých nebo redundantních informací.

Kompromis: Ke komprimaci a dekomprimaci dat potřebujete výpočetní prostředky, jako je procesor a paměť. Čím více dat komprimujete, tím více prostředků potřebujete.

Archivace a vyprázdnění dat

Archivace a mazání jsou strategie, které zjednodušují ukládání dat. Archivace přemísťuje starší méně často přístupná data do nákladově efektivnějšího úložiště. Vymazání dat trvale odebere redundantní data. Přispívají k efektivitě výkonu snížením objemu dat, zvýšením rychlosti přístupu k datům a snížením doby zálohování a obnovení:

  • Snížení objemu dat: Méně dat znamená rychlejší zpracování, což zajišťuje rychlé odpovědi na žádosti uživatelů.

  • Zvýšení rychlosti přístupu k datům: Oříznutá datová sada umožňuje rychlejší dotazy a načítání dat a optimalizaci odezvy systému.

  • Omezení doby zálohování a obnovení: Menší datové sady urychlují procesy zálohování a obnovení, minimalizují výpadky a zajišťují konzistentní výkon.

Archivace a vyprázdnění jsou nástrojem pro zachování špičkové efektivity výkonu v systémech řízených daty.

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

Optimalizace zatížení úložiště znamená streamování požadavků na systém úložiště. Pomáhá eliminovat zbytečné požadavky. Vylepšuje také načítání dat a zabraňuje zahlcení úložiště. Optimalizace zatížení úložiště zajišťuje, že systém úložiště zůstane reagovat na legitimní požadavky a udržuje výkon ve špičce. Implementujte strategie, které snižují zatížení zpracování úložiště dat. Pokud chcete optimalizovat 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ě používaná data v oblasti úložiště s rychlým přístupem, což zrychluje načítání dat než jejich načítání z hlavního zdroje. Tato technika zvyšuje výkon dat snížením doby přístupu a zabráněním opakovaným načítání dat. Ukládání do mezipaměti zlepšuje rychlost čtení a doby odezvy uživatelů, zejména u často používaných dat. Tato metoda je nejúčinnější pro statická data nebo zřídka se mění.

Abyste zajistili 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. Upravte nastavení, například hodnotu TTL (Time to Live), pro zajištění optimálního výkonu. Pokud chcete k optimalizaci zatížení úložiště použít mezipaměť, zvažte následující strategie:

  • Ukládání do mezipaměti v paměti: Ukládání často přístupných dat do paměti pro rychlé načítání provádí ukládání do mezipaměti v paměti. Tuto techniku můžete použít pro data aplikací, která jsou náročná na výpočty nebo načítání z databáze. Ukládání do mezipaměti v paměti je užitečné pro data, která čtete často, ale nemění se často.

  • Ukládání databázových dotazů do mezipaměti: Pomocí této techniky můžete ukládat výsledky 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ž výsledky dotazu ukládáte do mezipaměti, vrátí se následné požadavky na stejný dotaz rychle.

  • Ukládání do mezipaměti sítě pro doručování obsahu: 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. Ukládání do mezipaměti sítě pro doručování obsahu je efektivní pro statický obsah, jako jsou obrázky, soubory CSS a javascriptové soubory. 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é mají přístup k obsahu ze serveru, který je blízko nich geograficky.

Použití replik pro čtení

Mnoho databází podporuje více replik pro čtení. Distribuujte dotazy pro čtení mezi repliky, abyste minimalizovali poptávku po databázi zápisu. Každá replika pro čtení může obsluhovat podmnožinu provozu, což může zlepšit výkon.

Pokud máte úlohu s více replikami dat, které očekáváte, že zůstanou synchronizované, je užitečné modelovat tento distribuovaný systém pomocí teorému PACELC. Teorém PACELC vám pomůže pochopit latenci a volby kompromisu mezi constancy v nedílném stavu systému. Tyto informace vám pomůžou vybrat databázový stroj a strategii synchronizace dat, která nejlépe řeší systém v děleném a nedílném stavu. Další informace najdete v modelu oddělení odpovědnosti příkazů a dotazů (CQRS).

Optimalizace konzistence dat

V distribuované úloze, kde se data nacházejí v několika uzlech nebo umístěních, určuje úroveň konzistence, kterou vyberete, jak rychle se změny v jednom umístění projeví v jiných umístěních. Výběr přísnější konzistence spotřebovává více výpočetních prostředků a může negativně ovlivnit efektivitu výkonu. Na druhou stranu méně striktní úroveň konzistence, jako je konečná konzistence, zavádí dočasné nekonzistence mezi uzly, ale může zvýšit efektivitu výkonu.

Konečná konzistence představuje rovnováhu mezi přesností dat a výkonem úloh. Změny se postupně rozprostírají místo okamžitého zvýšení rychlosti odezvy úloh a zpracování dat. I když představuje krátkodobou nekonzistenci, úloha nakonec představuje konzistentní data napříč všemi uzly. Volba konečné konzistence může zvýšit výkon úlohy a dále zvýšit její dostupnost a škálovatelnost.

Optimalizace aktualizací dat

Ke zpracování souběžných aktualizací stejných dat můžete použít optimistickou souběžnost souběžnosti. Místo zamknutí dat a zabránění jiným aktualizacím umožňuje optimistická souběžnost více uživatelů nebo procesů pracovat souběžně a předpokládá, že konflikty jsou vzácné.

Při optimistické souběžnosti zahrnuje každá operace aktualizace verzi nebo časové razítko, které představuje stav dat v době aktualizace. Když se zjistí konfliktní aktualizace, systém konflikt vyřeší odmítnutím aktualizace nebo sloučením změn.

Optimistická souběžnost minimalizuje kolize a umožňuje souběžné aktualizace pokračovat bez zbytečného uzamčení. Zkracuje dobu čekání na prostředky a poskytuje vysokou propustnost.

Optimalizace přesunu a zpracování dat

Optimalizace přesunu 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řesunu a zpracování dat:

  • Optimalizace extrakce, transformace a načítání (ETL): Optimalizujte procesy ETL, abyste minimalizovali dobu zpracování. Proces extrakce můžete zjednodušit, implementovat efektivní transformační algoritmy a optimalizovat proces načítání. Když jednotlivé kroky zefektivníte, můžete optimalizovat celkový pracovní postup.

  • Paralelní zpracování: Ke zlepšení výkonu využijte techniky paralelního zpracování. Když distribuujete úlohy zpracování dat napříč několika vlákny nebo uzly, můžete úlohy dělit a zpracovávat souběžně, což vede k rychlému zpracování.

  • Dávkové zpracování: Seskupte podobné úlohy, abyste snížili režii způsobenou opakovanými operacemi. Zpracování více úkolů v dávce za účelem snížení celkové doby zpracování

Optimalizace návrhu úložiště

Optimalizace návrhu úložiště zahrnuje vytvoření přesné architektury úložiště dat a výběru vhodných technologií úložiště. Zjednodušený návrh úložiště vylepšuje přístup k datům, načítání a manipulaci. Díky strategickému návrhu úložiště úloha dosahuje lepší doby odezvy a celkové funkčnosti.

Návrh pro blízkost dat

Blízkost dat se týká strategického umístění dat blíže uživatelům nebo službám, které k datům přistupují nejčastěji. Díky snížení fyzické nebo logické vzdálenosti mezi daty a jejími uživateli zajišťuje bezkontaktní komunikace dat rychlejší přístup k datům a lepší odezvu. Při optimalizaci návrhu pro blízkost zvažte tyto strategie:

  • Vyhodnocení vzorů přístupu k datům: Posouzení vzorů přístupu k úlohám a často přístupných dat Tato analýza může pomoct určit, kam umístit data pro maximální výhodu.

  • Zvolte řešení, která podporují přemístění dat: Zvažte řešení, která nabízejí dynamické přemístění dat na základě měnících se vzorů přístupu a zajištění optimálního umístění dat.

  • Zvolte řešení, která podporují synchronizaci dat: Pokud se jedná o catering distribuované uživatelské základny, zvolte řešení, která usnadňují synchronizaci dat napříč různými oblastmi a zajišťují 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í.

Použití polyglotní trvalosti

Polyglotní trvalost je postup použití více technologií úložiště dat k ukládání a správě různých typů dat v rámci aplikace nebo systému. Různé typy databází nebo řešení úložiště obsluhují různé požadavky na data.

Polyglotní trvalost využívá výhod každé technologie úložiště dat k zajištění optimálního výkonu a škálovatelnosti pro každý typ dat. Můžete například použít relační databázi k ukládání strukturovaných transakčních dat. Databázi NoSQL můžete použít k ukládání nestrukturovaných nebo částečně strukturovaných dat.

Navrhujte schéma pro každou technologii úložiště dat na základě požadavků dat. U relačních databází můžete vytvořit normalizované tabulky s příslušnými relacemi. U databází NoSQL můžete definovat struktury dokumentů nebo páry klíč-hodnota. Vyvíjejte potřebné komponenty pro interakci s jednotlivými technologiemi úložiště dat, jako jsou rozhraní API, vrstvy přístupu k datům nebo kanály integrace dat. Ujistěte se, že aplikace může číst a zapisovat data do příslušných úložišť dat.

Kompromis: Datová struktura, která má nízkou normalizaci, může zlepšit výkon, ale zavést složitosti.

Samostatné systémy OLTP a OLAP

Pokud chcete oddělit systémy OLTP a OLAP , navrhujte a nasaďte samostatné systémy pro úlohy transakčního zpracování a analytického zpracování. Toto oddělení umožňuje optimalizovat jednotlivé systémy pro konkrétní úlohy a charakteristiky.

Systémy OLTP se používají ke zpracování transakcí v reálném čase. Efektivně a spolehlivě zpracovávají jednotlivé transakce. Systémy OLTP se obvykle používají k provádění každodenních provozních úloh, jako je online zpracování objednávek, správa zásob a správa zákaznických dat. Systémy OLTP upřednostňují rychlost odezvy, konzistenci a souběžnost.

Systémy OLAP se používají pro komplexní analytické zpracování a vytváření sestav. Zpracovávají velké objemy dat a provádějí náročné výpočty a agregace. Systémy OLAP se používají pro úlohy, jako je business intelligence, dolování dat a podpora rozhodování. Systémy OLAP upřednostňují výkon dotazů, agregaci dat a multidimenzionální analýzu.

Když oddělíte systémy OLTP a OLAP, můžete přidělit příslušné prostředky a optimalizovat jednotlivé systémy pro konkrétní úlohy. Oddělení umožňuje použít různé techniky modelování dat v každém systému. Systémy OLTP obvykle používají normalizovaná schémata pro efektivní zpracování transakcí. Systémy OLAP můžou k optimalizaci výkonu dotazů používat denormalizovaná schémata nebo techniky datových skladů.

Usnadnění azure

Profilace dat: Azure nabízí nástroje a služby, které můžete použít k profilaci dat, jako je Azure Data Catalog, Azure Purview a Azure Synapse Analytics. Tyto nástroje umožňují extrahovat, transformovat a načítat data z různých zdrojů, provádět kontroly kvality dat a získat přehled o datech.

Monitorování výkonu dat: Pokud chcete monitorovat výkon dat, můžete pomocí služby Azure Monitor shromažďovat a analyzovat metriky infrastruktury, protokoly a data aplikací. Monitorování 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. Log Analytics můžete použít ke korelaci dat s konfiguračními a výkonovými daty napříč prostředky Azure.

K monitorování databáze můžete použít funkci přehledů Azure SQL a Azure Cosmos DB . Tato funkce umožňuje diagnostikovat a ladit problémy s výkonem databáze.

Dělení dat: Azure nabízí různé strategie dělení pro různá úložiště dat. Každé úložiště dat může mít jiné aspekty a možnosti konfigurace pro dělení dat. Další informace najdete v tématu Strategie dělení dat.

Optimalizace výkonu databázových dotazů a indexů: K optimalizaci dotazů, tabulek a databází použijte funkci Query Performance Insight služby Azure SQL Database. Tuto funkci můžete použít k identifikaci a řešení potíží s výkonem dotazů.

V případě relačních databází byste měli postupovat podle pokynů k návrhu indexu, pokynů k indexu SQL Serveru a pokynů k indexům služby Azure Cosmos DB. Pomocí SLUŽBY SQL Database můžete provádět automatické ladění dotazů, aby se zlepšil jejich výkon.

V databázích SQL byste měli pravidelně reorganizovat nebo znovu sestavit indexy. Identifikujte pomalé dotazy a vylaďte je, aby se zlepšil výkon. Mnoho databázových strojů má funkce ladění dotazů. Další informace najdete v tématu Osvědčené postupy pro výkon dotazů.

Azure Cosmos DB má výchozí zásady indexování , které indexuje každou vlastnost každé položky a vynucuje indexy rozsahu pro libovolný řetězec nebo číslo. Tato zásada poskytuje efektivní výkon dotazů a nemusíte předem spravovat indexy.

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. Informace o podrobnostech a možnostech najdete v oficiální dokumentaci ke každé službě.

Optimalizace návrhu úložiště: Azure nabízí mnoho různých úložišť dat, aby vyhovovaly vašim potřebám úloh. Seznamte se s typy úložiště dat a vyberte úložiště dat Azure pro vaši aplikaci.

Kontrolní seznam efektivity výkonu

Projděte si kompletní sadu doporučení.