Doporučení pro optimalizaci výkonu dat
Platí pro toto doporučení kontrolního seznamu efektivity výkonu azure Well-Architected Framework:
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 úlohách. |
---|
Tato příručka popisuje doporučení pro optimalizaci výkonu dat. Optimalizace výkonu dat spočívá ve zpřesnění efektivity, se kterou úloha zpracovává a ukládá data. Každá operace, transakce nebo výpočty úloh obvykle závisí na rychlém a přesném načítání, zpracování a ukládání dat. Když je výkon dat optimalizovaný, úloha běží hladce. Ohrožení výkonu dat vytváří dominový efekt nízké efektivity výkonu. Selhání optimalizace výkonu dat má za následek zpoždění odpovědí, zvýšenou latenci a zkrácenou škálovatelnost. To ohrožuje efektivitu celé úlohy.
Definice
Období | Definice |
---|---|
CAP teorém | Architektura používaná ke 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á zruší a znovu vytvoří index. |
Reorganizace 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. |
Případná konzistence | Model synchronizace dat, který umožňuje dočasnou nekonzistence replik dat před jejich případnou synchronizací. |
Index | Struktura databáze, která poskytuje rychlý přístup k položkám. |
Technologie OLAP (Online Analytical Processing) | Technologie, která organizuje velké podnikové 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, ke kterým dochází v každodenním provozu organizace. |
Optimistická metoda souběžného zpracování | Přístup k aktualizaci databází, který používá snímky k provádění aktualizací místo tradičních mechanismů zamykání, což zlepšuje výkon a škálovatelnost. |
PACELC teorém | Architektura používaná k zvážení odolnosti oddílů, dostupnosti, konzistence a latence, která pomáhá vysvětlit kompromisy v konzistenci dat. |
Dělení | 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ěrování zatížení čtení z databáze pro zápis. |
Klíčové strategie návrhu
Pokud chcete optimalizovat využití dat, ujistěte se, že úložiště dat, oddíly a indexy jsou optimalizované pro zamýšlené použití a pro jejich skutečné použití v úlohách. 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 se svými daty a ujistěte se, že je datový model vhodný pro vaše úlohy. Zvažte faktory, jako je 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í.
Vylaďte konfiguraci úložiště dat. Nakonfigurujte infrastrukturu úložiště dat tak, aby odpovídala vašim požadavkům na úlohy. Vyberte vhodnou 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. Pokud chcete identifikovat kritické body, použijte plány dotazů a nástroje pro monitorování výkonu a pak proveďte potřebná vylepšení.
Systém pravidelně monitorujte a vylaďte. Nepřetržitě monitorujte výkon úloh a iterujte konfiguraci úložiště dat a optimalizace dotazů. Na základě osvědčených postupů pro ladění výkonu analyzujte systémové metriky, identifikujte oblasti vylepšení a implementujte změny.
Data profilu
Profilace dat zahrnuje zkoumání dat ze zdroje a shromažďování informací o zdroji. Cílem je porozumět kvalitě, struktuře a charakteristikám dat úloh. Tento proces umožňuje identifikovat problémy, 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 jednotlivé sloupce. Vyhodnocení struktury dat vám pomůže pochopit, jak jsou data uspořádaná a jak souvisí s dalšími datovými prvky.
Analyzujte objem dat. Vyhodnoťte objem dat, abyste porozuměli celkové velikosti a vzorců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. Porozumíte tomu, jak jsou data propojená, abyste mohli určit, jak můžou změny v jedné tabulce nebo dokumentu ovlivnit související data.
Vyhodnotit kvalitu dat. Vyhodnoťte kvalitu dat zkoumáním faktorů, jako jsou ú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 dotazování na výkon. Tento krok vám pomůže identifikovat oblasti pro čištění a vylepšení 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 třetích stran. Efektivní monitorování výkonu dat umožňuje proaktivně identifikovat a zmírnit potenciální kritické body a zajistit, aby procesy a úlohy související s daty byly efektivní. 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ů.
Nastavte upozornění na data. Nastavte upozornění speciálně pro metriky dat. K aktivaci upozornění použijte v těchto metrikách předdefinované prahové hodnoty nebo anomálie. Upozornění umožňují přijímat oznámení, když metriky výkonu překročí přijatelné rozsahy nebo vykazují neobvyklé chování. Pokud například databázový dotaz trvá déle, než se čekalo, nebo pokud propustnost dat výrazně klesne, aktivoval by výstrahu. 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 a upřesníte potenciální kritické body výkonu nebo snížení výkonu datových operací. Vizualizační nástroje nebo řídicí panely mohou být v tomto procesu neocenitelné, protože pomáhají zvýraznit trendy, kritické body a odlehlé hodnoty v oblasti 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ými objemy do menších, spravovatelných podmnožinou. Dělení zvyšuje efektivitu výkonu dat tím, že distribuuje úlohy a vylepš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 | Definice | Příklad | Případy použití |
---|---|---|---|
Vertikální dě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 kompletní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 najednou. – 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ělte data na základě řádků nebo oblastí hodnot (označuje se také jako horizontální dělení). Každý oddíl obsahuje podmnožinu řádků s podobnými charakteristikami. | Pokud máte tabulku s řádky 1 až 1000, můžete vytvořit jeden oddíl s řádky 1 až 500 a druhý s řádky 501 až 1000. | – Datová sada je pro jedno umístění nebo server příliš velká. – K datům se přistupuje na základě konkrétních rozsahů nebo filtrů. – Je potřeba distribuovat úlohy mezi fyzické uzly nebo servery, aby byl vyšší výkon. |
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, vzory přístupu a požadavky na distribuci.
Určení klíče Pokud chcete distribuovat data mezi oddíly nebo horizontální oddíly, zvolte klíč pro dělení nebo horizontální dělení. Pečlivě vyberte klíč na základě charakteristik dat a požadavků na dotazy.
Určete logiku. Na základě zvoleného klíče určete logiku dělení nebo horizontálního dělení. 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 pokynech k dělení dat.
Optimalizace databázových dotazů
Optimalizace databázových dotazů zpřesní 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 menší zatížení, prostředky fungují efektivněji a uživatelé mají plynulejší interakce. Pokud chcete optimalizovat databázové dotazy, 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ů, odstranění redundantních operací nebo zjednodušení syntaxe dotazu.
Vyhněte se problému s dotazem N+1. Minimalizujte počet cyklů do databáze pomocí spojení a dávkového načítání, aby se související data načítala efektivně.
Změna pořadí spojení Vyhodnoťte plán dotazu a zvažte přeuspořádání pořadí spojení, abyste minimalizovali počet řádků v každé operaci spojení. Pořadí, ve kterém tabulky spojujete, může ovlivnit výkon dotazů.
Použijte nápovědu k indexu. Použijte nápovědu k indexu, aby databázový stroj mohl určit použití indexů při spuštění dotazu. Nápovědy k indexu vedou optimalizátora k výběru nejvhodnějších indexů.
Ukládání dotazů do mezipaměti Výsledky často spouštěných dotazů uložte do paměti. Ukládání dotazů do mezipaměti eliminuje potřebu opakovaného spouštění stejného dotazu a snižuje režii zpracování dotazů.
Optimalizujte uzamykání. Vyhněte se zbytečným nebo omezujícím nápovědám k uzamčení v dotazech. Efektivní strategie zamykání můžou zvýšit výkon a souběžnost dotazů. Použijte optimalizované uzamykání, které poskytuje databázový systém. Analyzujte a upravte úrovně izolace za účelem vyvážení konzistence dat a výkonu dotazů.
Monitorování a ladění. Monitorujte metriky výkonu dotazů, jako je modul runtime, využití prostředků a propustnost dotazů. Pomocí nástrojů pro profilaci databáze a funkcí monitorování identifikujte dotazy s nízkým výkonem. Vyhodnoťte a dolaďte plány dotazů na základě shromážděných dat o výkonu. Analyzujte plány dotazů a statistiky čekání, abyste identifikovali kritické body. Tyto informace použijte k optimalizaci výkonu dotazů.
Optimalizace výkonu indexu
Indexy zvyšují rychlost načítání dat tím, že umožňují databázím rychle najít data pomocí konkrétních sloupců nebo polí. Když tyto indexy optimalizujete, budou operace řazení a spojení efektivnější, což vede k rychlejším dotazům. Dobře optimalizované indexy zužují 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 zjistěte, které indexy jsou užitečné pro optimalizaci výkonu.
Vyhodnoťte existující indexy. Zkontrolujte existující indexy v databázi. Vyhodnoťte jejich využití, účinky na výkon 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žii úložiště.
Identifikujte sloupce pro indexování. Identifikujte sloupce, které se často používají v klauzulích where, join a order by vašich dotazů. Tyto sloupce jsou potenciálními kandidáty pro indexování, protože umožňují rychlé načítání dat.
Zvolte vhodný 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-strom pro dotazy na rovnost a rozsah, indexy hash pro přesné shody dotazů a fulltextové indexy pro operace textového vyhledávání. Zvolte typ indexu, který nejlépe odpovídá vašim požadavkům na dotaz.
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ů. Sloupce, které se nejčastěji používají v dotazech, umístěte na začátek indexu. Pořadí sloupců pomáhá zajistit, aby vaše úloha efektivně používala indexy pro širokou škálu dotazů.
Velikost indexu zůstatku. Vyhněte se vytváření indexů u sloupců s nízkou kardinalitou nebo sloupců s nízkým počtem jedinečných hodnot. Takové indexy můžou být neefektivní a zvětšovat velikost databáze. Místo toho indexovat 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 vzorů dotazů nebo požadavků na výkon. Odeberte nebo aktualizujte indexy, které už nejsou užitečné. Indexy mají režijní náklady na údržbu. S tím, jak se data mění, můžou se indexy fragmentovat a ovlivňovat výkon. Abyste zajistili optimální výkon, pravidelně provádějte úlohy údržby indexů, jako je opětovné sestavení nebo změna uspořádání indexů.
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í oproti předdefinovaným srovnávacím testům.
Kompromis: Indexy B-stromu můžou mít vysokou režii na úložiště a dotazy na přesnou shodu můžou být pomalé. Indexy hodnot hash nejsou vhodné pro dotazy na rozsahy nebo relační operátory. Fulltextové indexy můžou mít vysoké požadavky na úložiště a dotazy na netextová data můžou být pomalé.
Zvážení komprese dat
Komprese dat je proces zmenšení velikosti dat za účelem optimalizace prostoru úložiště a zlepšení efektivity výkonu úloh. Komprimovaná data vyžadují pro přenos menší prostor úložiště a menší šířku pásma, což vede k rychlému přenosu dat. Komprimujte data, abyste snížili nároky na úložiště a zkrátili dobu přístupu k datům. Komprese dat snižuje požadavky na vstupně-výstupní operace a šířku pásma sítě.
Bezeztrátová komprese a ztrátová komprese jsou algoritmy komprese dat. Algoritmy bezeztrátové komprese zmenšují velikost dat bez ztráty informací. Algoritmy ztrátové komprese dosahují vysokých kompresních poměrů odebráním méně důležitých nebo redundantních informací.
Kompromis: Ke kompresi a dekompresi 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 vymazání dat
Archivace a vymazání jsou strategie, které zjednodušují ukládání dat. Archivace přemístí starší a méně často přístupná data do cenově výhodnějšího úložiště. Vymazání dat trvale odebere redundantní data. Přispívají k efektivitě výkonu tím, že snižují objem dat, zvyšují rychlost přístupu k datům a zkracují dobu zálohování a obnovení:
Snížení objemu dat: Méně dat znamená rychlejší zpracování a zajištění rychlých odpovědí na požadavky uživatelů.
Zvýšení rychlosti přístupu k datům: Oříznutá datová sada umožňuje rychlejší dotazy a načítání dat a optimalizuje odezvu systému.
Zkrácení doby zálohování a obnovení: Menší datové sady urychlí procesy zálohování a obnovení, minimalizují prostoje a zajišťují konzistentní výkon.
Archivace a vyprázdnění jsou zásadní pro zajištění efektivity špičkového výkonu v systémech řízených daty.
Optimalizace zatížení úložiště
Optimalizace zatížení úložiště znamená zjednodušení 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ě zajistí, že systém úložiště bude reagovat na legitimní požadavky a zachová špičkový výkon. Implementujte strategie, které sníží zatížení úložiště dat zpracováním. 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í běžně používaných dat do mezipaměti ukládá do oblasti úložiště s rychlým přístupem, takže načítání dat je rychlejší než jejich načítání z hlavního zdroje. Tato technika zvyšuje výkon dat tím, že snižuje dobu přístupu a vyhne se opakovaným načítáním dat. Ukládání do mezipaměti zlepšuje rychlost čtení a dobu odezvy uživatelů, zejména u často používaných dat. Tato metoda je nejúčinnější pro statická data nebo data, která se mění jen zřídka.
Pokud chcete 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. Upravte nastavení, jako je hodnota TTL (Time to Live) pro zajištění optimálního výkonu. Pokud chcete použít mezipaměť k optimalizaci zatížení úložiště, 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čtení. 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.
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, budou se rychle vracet další požadavky na stejný dotaz.
Ukládání do mezipaměti sítě pro doručování obsahu: Pomocí této techniky můžete ukládat webový obsah 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 soubory JavaScriptu. Sítě pro doručování obsahu ukládají kopie obsahu na více místech po celém světě, aby uživatelé mohli přistupovat k obsahu ze serveru, který je geograficky blízko nich.
Použití replik pro čtení
Mnoho databází podporuje více replik pro čtení. Distribuujte dotazy pro čtení mezi repliky, abyste minimalizovali požadavky na databázi pro zápis. Každá replika pro čtení může obsluhovat podmnožinu provozu, což může zvýšit výkon.
Pokud máte úlohu s více replikami dat, u kterých 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 stálosti v nedělené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 nerozděleném stavu. Další informace najdete v tématu Model CQRS (Command and Query Responsibility Segregation).
Optimalizace konzistence dat
V distribuované úloze, kde se data nacházejí ve více 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. 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, přináší 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ě, místo aby se okamžitě zvýšily odezva úloh a rychlost zpracování dat. I když úloha zavádí krátkodobé nekonzistence, nakonec představuje konzistentní data ve všech uzlech. 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. Místo zamykání dat a zabránění dalším aktualizacím umožňuje optimistická souběžná souběžná práce více uživatelů nebo procesů a předpokládá, že konflikty jsou vzácné.
S optimistickou souběžností obsahuje každá operace aktualizace verzi nebo časové razítko, které představuje stav dat v době aktualizace. Když zjistíte konfliktní aktualizaci, 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 zamykání. 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ž každý krok zefektivníte, můžete optimalizovat celkový pracovní postup.
Paralelní zpracování: Ke zlepšení výkonu využijte techniky paralelního zpracování. Při distribuci úloh zpracování dat mezi více vláken nebo uzlů můžete úlohy rozdě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, aby se zkrátila celková doba 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ěr vhodných technologií úložiště. Zjednodušený návrh úložiště zlepšuje přístup k datům, jejich načítání a manipulaci. Díky strategickému návrhu úložiště dosáhne úloha lepší doby odezvy a celkové funkčnosti.
Návrh pro blízkost dat
Blízkost dat označuje strategické umístění dat blíže uživatelům nebo službám, které k ní přistupují nejčastěji. Díky zmenšení fyzické nebo logické vzdálenosti mezi daty a jejich uživateli zajišťuje blízkost dat rychlejší přístup k datům a lepší odezvu. Pokud chcete optimalizovat návrh pro blízkost, zvažte tyto strategie:
Vyhodnocení vzorů přístupu k datům: Vyhodnoťte vzory přístupu k úlohám a často kopírovaná data. Tato analýza vám může pomoct určit, kam umístit data, aby to bylo maximálně výhodné.
Volba ř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.
Volba řešení, která podporují synchronizaci dat: Pokud se jedná o službu distribuované uživatelské základny, zvolte řešení, která usnadňují synchronizaci dat napříč různými oblastmi a zajišťují, aby repliky dat byly dostupné 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í polyglotu 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ě slouží různým požadavkům na data.
Polyglotní trvalost využívá výhody každé technologie úložiště dat k zajištění optimálního výkonu a škálovatelnosti pro každý typ dat. Relační databázi můžete například použít 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.
Navrhněte schéma pro každou technologii úložiště dat na základě požadavků na data. U relačních databází můžete vytvořit normalizované tabulky s odpovídajícími relacemi. Pro databáze NoSQL můžete definovat struktury dokumentů nebo páry klíč-hodnota. Vyvíjejte nezbytné 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 zvýš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 různé systémy pro úlohy zpracování transakcí a analytického zpracování. Toto oddělení umožňuje optimalizovat každý systém pro jeho specifické úlohy a vlastnosti.
Systémy OLTP se používají pro 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 odpovídající prostředky a optimalizovat každý systém pro konkrétní úlohy. Separace umožňuje použít na každý systém různé techniky modelování dat. 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 profilování dat, jako jsou 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ískávat o nich přehled.
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 data o využití a výkonu. Log Analytics můžete použít ke korelaci dat s konfiguračními daty a daty o výkonu 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 různé aspekty a možnosti konfigurace pro dělení dat. Další informace najdete v tématu Strategie dělení dat.
Optimalizace databázových dotazů a výkonu indexů: Pomocí funkce Query Performance Insight Azure SQL Database optimalizujte dotazy, tabulky a databáze. 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, SQL Server indexu a pokynů k indexu služby Azure Cosmos DB. Pomocí SQL Database můžete provádět automatické ladění dotazů za účelem zlepšení jejich výkonu.
V databázích SQL byste měli pravidelně přeuspořádávat nebo znovu vytvářet 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é indexují každou vlastnost každé položky a vynucují indexy rozsahů pro libovolný řetězec nebo číslo. Tato zásada poskytuje efektivní výkon dotazů a nemusíte spravovat indexy předem.
Optimalizace zatížení úložiště: Repliky pro čtení podporuje řada databázových služeb Azure. Dostupnost a konfigurace replik pro čtení se liší v závislosti na databázové službě Azure. Podrobnosti a možnosti najdete v oficiální dokumentaci k jednotlivým službám.
Optimalizace návrhu úložiště: Azure nabízí mnoho různých úložišť dat, která vyhovují vašim požadavkům na úlohy. Seznamte se s typy úložiště dat a vyberte úložiště dat Azure pro vaši aplikaci.
Související odkazy
- Automatické ladění v SQL Database
- Azure Cosmos DB
- Pokyny k indexu služby Azure Cosmos DB
- Azure SQL
- Osvědčené postupy pro výkon dotazů
- Model CQRS
- Pokyny k dělení dat
- Strategie dělení dat
- Výchozí zásady indexování
- Pokyny k návrhu indexu
- Přehled OLAP
- Přehled OLTP
- Osvědčené postupy pro dělení
- Změna uspořádání nebo opětovného sestavení indexů
- Výběr úložiště dat Azure pro vaši aplikaci
- SQL Server pokyny k indexu
- Principy typů úložiště dat
Kontrolní seznam efektivity výkonu
Projděte si kompletní sadu doporučení.