Belešku
Pristup ovoj stranici zahteva autorizaciju. Možete pokušati da se prijavite ili da promenite direktorijume.
Pristup ovoj stranici zahteva autorizaciju. Možete pokušati da promenite direktorijume.
Odnosi se na ovu Power Platform preporuku za proveru efikasnosti performansi dobrog arhitekture:
| PE:08 | Optimizujte performanse podataka. Optimizujte skladišta podataka za njihovu namenu i stvarnu upotrebu u radnom opterećenju. |
|---|
Ovaj vodič opisuje preporuke za optimizaciju performansi podataka. Optimizacija performansi podataka odnosi se na usavršavanje efikasnosti kojom radno opterećenje obrađuje i čuva podatke. Svaka operacija radnog opterećenja, transakcija ili računanje obično se oslanja na brzo i precizno pronalaženje, obradu i skladištenje podataka. Kada su performanse podataka optimizovane, radno opterećenje radi glatko. Kompromitovane performanse podataka stvaraju domino efekat loše efikasnosti performansi. Neuspeh u optimizaciji performansi podataka rezultira kašnjenjem odgovora, povećanom latencijom i smanjenom skalabilnošću. To ugrožava efikasnost celokupnog radnog opterećenja.
Definicije
| Termin | Definicija |
|---|---|
| Skladište podataka | Resurs koji čuva podatke kao što su baza podataka, prodavnica objekata ili deljenje datoteka. |
| Index | Struktura baze podataka koja omogućava brz pristup stavkama. |
| Onlajn analitička obrada (OLAP) | Tehnologija koja organizuje velike poslovne baze podataka, podržava složene analize i obavlja složene analitičke upite bez negativnog uticaja na transakcijske sisteme. |
| Online obrada transakcija (OLTP) | Tehnologija koja beleži poslovne interakcije kako se javljaju u svakodnevnom poslovanju organizacije. |
| Podelu | Proces fizičke podele podataka u odvojene skladišta podataka. |
| Podešavanje upita | Proces koji optimizuje brzinu upita baze podataka. |
Ključne strategije dizajna
Da biste optimizirali upotrebu podataka, uverite se da su skladišta podataka optimizovana za njihovu namenu i za njihovu stvarnu upotrebu u radnom opterećenju. Optimizovana upotreba podataka može poboljšati performanse upita, smanjiti potrošnju resursa i poboljšati ukupnu efikasnost sistema. Razmotrite sledeće strategije:
Podaci o profilu. Razumeti svoje podatke i osigurati da je vaš model podataka pogodan za vaše radno opterećenje. Razmotrite faktore kao što su normalizacija podataka i tehnike particioniranja. Za efikasno pronalaženje podataka, uverite se da ste izabrali odgovarajuće tipove podataka i definisali odnose između tabela.
Optimizujte performanse upita. Analizirajte i optimizujte upite koji se pokreću u radnom opterećenju. Koristite tehnike kao što su optimizacija upita i keširanje. Koristite prikaze na strani servera da biste prethodno filtrirali podatke. Da biste identifikovali uska grla, koristite alate za praćenje performansi, a zatim napravite neophodna poboljšanja.
Redovno pratite i podešavajte sistem. Kontinuirano pratite performanse vašeg radnog opterećenja i ponavljajte konfiguraciju skladištenja podataka i optimizaciju upita. Na osnovu najboljih praksi podešavanja performansi, analizirajte sistemske metrike, identifikujte oblasti poboljšanja i implementirajte promene. Kako podaci rastu, možda ćete morati da ažurirate svoje upite da biste ostali efikasni.
Podaci o profilu
Profilisanje podataka podrazumeva ispitivanje podataka iz izvora i prikupljanje informacija o tome. Cilj je da se razume kvalitet, struktura i karakteristike podataka o radnom opterećenju. Ovaj proces omogućava identifikaciju problema kao što su nedostajuće vrednosti, duplikati, nedosledni formati i druge anomalije.
Za efikasno profilisanje podataka, razmotriti sledeće strategije:
Razumeti strukturu podataka. Ispitajte strukturu vaših podataka, uključujući tabele, kolone i odnose. Odredite tipove podataka, dužine i ograničenja koja se primenjuju na svaku kolonu. Evaluacija strukture podataka pomaže vam da razumete kako su podaci organizovani i kako se odnose na druge elemente podataka.
Analizirajte obim podataka. Procenite obim vaših podataka da biste razumeli ukupnu veličinu i obrasce rasta. Odredite broj zapisa ili dokumenata i veličinu pojedinačnih tabela ili zbirki. Ove informacije vam pomažu da procenite zahteve za skladištenje i identifikujete probleme skalabilnosti.
Identifikujte odnose podataka. Istražite odnose između elemenata podataka. Razumeti kako su podaci povezani, tako da možete odrediti kako promene u jednoj tabeli ili dokumentu mogu uticati na povezane podatke.
Procenite kvalitet podataka. Procijenite kvalitet vaših podataka ispitivanjem faktora kao što su potpunost, tačnost, konzistentnost i jedinstvenost. Identifikujte anomalije podataka, nedostajuće vrednosti ili duple zapise koji mogu uticati na integritet podataka i performanse upita. Ovaj korak vam pomaže da identifikujete oblasti za čišćenje i poboljšanje podataka.
Snimanje distribucije podataka. Analizirajte distribuciju vrednosti unutar svake kolone da biste odredili obrasce podataka. Identifikujte česte i retke vrednosti, izuzetke i iskrivljenost podataka. Da biste optimizirali performanse upita, analizirajte da li bi alternativni tasteri bili prikladni za obezbeđivanje poboljšanih performansi.
Pratite performanse podataka
Praćenje performansi podataka je praksa doslednog praćenja efikasnosti skladišta podataka. To uključuje prikupljanje i analizu metrika performansi specifičnih za operacije podataka, koristeći alate prilagođene za sistemski nivo, specifična za bazu podataka ili rešenja za nadgledanje trećih strana. Efikasno praćenje performansi podataka omogućava vam da proaktivno identifikujete i ublažite potencijalna uska grla, osiguravajući da su procesi i zadaci vezani za podatke efikasni.
Da biste pratili performanse podataka, razmotrite sledeće strategije:
Prikupite metrike specifične za podatke. Prikupite ključne metrike koje se direktno odnose na performanse podataka. Ove metrike uključuju vreme odgovora upita i protok podataka.
Podesiteupozorenja o podacima. Podesite upozorenja posebno za metriku podataka. Koristite unapred definisane pragove ili anomalije u ovim metrikama da biste pokrenuli upozorenja. Upozorenja vam omogućavaju da primate obaveštenja kada metrike performansi premašuju prihvatljive opsege ili pokazuju nenormalno ponašanje; Na primer, ako upit baze podataka traje duže nego što se očekivalo ili ako propusnost podataka značajno opada. Ova upozorenja možete podesiti pomoću specijalizovanih alata za praćenje ili prilagođenih skripti.
Dijagnoza problema sa performansama podataka. Redovno pregledajte prikupljene metrike podataka kako biste identifikovali potencijalna uska grla performansi ili degradaciju u operacijama podataka. Alati za vizuelizaciju ili kontrolne table mogu biti od neprocenjive vrednosti u ovom procesu, pomažući da se istaknu trendovi, uska grla i izuzetci u performansama podataka. Kada se identifikuju, istražite uzroke ovih problema i planirajte odgovarajuće korake za sanaciju.
Podaci o particiji
Particioniranje podrazumeva podelu velikih skupova podataka ili velikih radnih opterećenja u manje, upravljive podskupove. Particioniranje povećava efikasnost performansi podataka distribucijom radnog opterećenja i poboljšanjem paralelne obrade. Takođe obezbeđuje efikasniji pristup podacima na osnovu specifičnih potreba i obrazaca upita. Podatke možete particionirati vertikalno ili horizontalno (takođe se naziva sharding). Na primer, ako koristite Dataverse elastične tabele razmotrite šta bi trebalo da bude ključ za particioniranje.
| Strategija | Definicija | Primer | Primeri upotrebe |
|---|---|---|---|
| Vertikalna particija | Podijelite tabelu u manje tabele odabirom određenih kolona ili polja za svaku particiju. Svaka particija predstavlja podskup kompletnih podataka. | Ako imate tabelu sa kolonama A, B, C i D, možete kreirati jednu tabelu sa kolonama A i B, a drugu sa kolonama C i D. | - Tabela sadrži mnogo kolona, ali upiti ne pristupaju svim kolonama zajedno. - Neke kolone su veće od drugih i njihovo razdvajanje može poboljšati I/O performanse. - Različiti delovi podataka imaju različite obrasce pristupa. |
| Horizontalna particija | Razdvojite podatke na osnovu redova ili opsega vrednosti (poznatih i kao sharding). Svaka particija sadrži podskup redova sa sličnim karakteristikama. | Ako imate tabelu sa redovima od 1 do 1000, možete da kreirate jednu particiju sa redovima od 1 do 500 i drugu sa redovima od 501 do 1000. | - Skup podataka je prevelik za jednu lokaciju ili server. - Podacima se pristupa na osnovu određenih opsega ili filtera. - Potrebno je distribuirati radno opterećenje preko fizičkih čvorova ili servera za poboljšane performanse. |
Da biste podeli podatke, razmotrite sledeće korake:
Analizirajte podatke i upite. Analizirajte obrasce podataka i upita kako biste identifikovali odgovarajuće strategije particioniranja ili dijeljenja. Razumeti prirodu podataka, pristupne obrasce i zahteve za distribuciju.
Odredite ključ. Izaberite ključ za particionisanje ili deljenje da biste distribuirali podatke preko particija ili delova. Pažljivo izaberite ključ na osnovu karakteristika podataka i zahteva upita.
Odredite logiku. Odredite logiku particioniranja ili razdvajanja na osnovu izabranog ključa. Razmislite o podeli podataka u opsege, primenom hešing algoritama ili korišćenjem drugih tehnika particioniranja.
Optimizujte upite
Optimizacija upita oplemenjuje upite kako bi se smanjili podaci koji se kvalifikuju i podaci se vraćaju. Ova prilagođavanja povećavaju efikasnost i brzinu pronalaženja podataka. Kao rezultat toga, baza podataka ima lakše radno opterećenje, resursi rade efikasnije, a korisnici uživaju u glatkijim interakcijama.
Da biste optimizovali upite baze podataka, razmotrite sledeće strategije:
Prepišite upite. Pregledajte i analizirajte složene upite kako biste identifikovali mogućnosti da ih prepišete. Razmislite o restrukturiranju logike upita, eliminisanju suvišnih operacija ili pojednostavljenju sintakse upita.
Izbegavajte problem N + 1 upita. Smanjite broj kružnih putovanja u bazu podataka koristeći spajanja i dohvaćanje serije za efikasno preuzimanje povezanih podataka.
Reorder se pridružuje. Procijenite i razmislite o preuređivanju redosleda spajanja kako biste smanjili broj redova u svakoj operaciji spajanja. Redosled u kojem se pridružite tabelama može uticati na performanse upita.
Cache upiti. Čuvajte rezultate često pokrenutih upita za jednostavnu ponovnu upotrebu. Keširanje upita eliminiše potrebu za ponovnim pokretanjem istog upita i smanjuje troškove obrade upita.
Pratite i podešavajte. Pratite metrike performansi upita, kao što su vreme izvođenja, korišćenje resursa i propusnost upita. Koristite alate za profilisanje baze podataka i funkcije praćenja da biste identifikovali upite sa lošim performansama. Koristite te informacije za optimizaciju performansi upita.
Arhivirajte i očistite podatke
Arhiviranje i čišćenje su strategije koje pojednostavljuju skladištenje podataka. Arhiviranje premešta starije, rjeđe pristupate podatke u isplativije skladištenje. Trajno čišćenje podataka uklanja suvišne podatke. Obe metode doprinose efikasnosti performansi smanjenjem obima podataka, povećanjem brzine pristupa podacima i smanjenjem vremena rezervne kopije i oporavka.
- Smanjenje obima podataka: Manje podataka znači brže vreme obrade, obezbeđujući brze odgovore na zahteve korisnika.
- Povećanje brzine pristupa podacima: Skraćeni skup podataka omogućava brže upite i pronalaženje podataka, optimizujući odziv sistema.
- Smanjenje vremena rezervne kopije i oporavka: Manji skupovi podataka ubrzavaju procese rezervne kopije i restauracije, minimizirajući zastoje i obezbeđujući konzistentne performanse.
Arhiviranje i čišćenje su ključni u održavanju maksimalne efikasnosti performansi u sistemima zasnovanim na podacima.
Optimizujte opterećenje skladištenja
Optimizacija opterećenja skladištenja znači racionalizaciju zahteva za sistem za skladištenje. Pomaže u eliminisanju nepotrebnih zahteva, poboljšava pronalaženje podataka i izbegava preopterećenje sistema za skladištenje. Optimizacija opterećenja skladištenja osigurava da sistem za skladištenje ostaje odgovoran na legitimne zahteve i održava vrhunske performanse. Implementirati strategije za smanjenje opterećenja obrade na skladištu podataka. Da biste optimizirali opterećenje skladišta podataka, razmotrite strategije koje slede.
Koristite keširanje
Keširanje čuva podatke kojima se često pristupa u prostoru za skladištenje brzog pristupa, čineći pronalaženje podataka bržim nego povlačenjem iz glavnog izvora. Ova tehnika povećava performanse podataka smanjujući vreme pristupa i izbegavajući ponavljajuće dohvaćanje podataka. Keširanje poboljšava brzinu čitanja i vreme odziva korisnika, posebno za često pristupane podatke. Ovaj metod je najefikasniji na statičkim podacima ili podacima koji se retko menjaju.
Da biste osigurali optimalnu efikasnost keširanja, razmotrite faktore kao što su politike isteka, strategije iseljenja i upravljanje veličinom keša. Podesite podešavanja, kao što je vreme za život (TTL), za optimalne performanse. Da biste koristili keš memoriju za optimizaciju opterećenja skladištenja, razmotrite sledeće strategije:
Keširanje u memoriji: Izvršite keširanje u memoriji za čuvanje podataka kojima se često pristupa u memoriju radi brzog pronalaženja. Ovu tehniku možete koristiti za podatke aplikacije koji su skupi za izračunavanje ili preuzimanje iz baze podataka. Keširanje u memoriji je korisno za podatke koje često čitate, ali se ne menjaju često. Na primer, možete koristiti varijable u tokovima oblaka ili kolekcijama u aplikacijama platna za keširanje podataka.
Keširanje upita baze podataka: Koristite ovu tehniku za keširanje rezultata upita baze podataka kako biste izbegli pokretanje istog upita više puta. Keširanje upita baze podataka je korisno za složene i dugotrajne upite baze podataka. Kada keširate rezultate upita, naknadni zahtevi za isti upit se brzo vraćaju. Takođe razmislite o korišćenju prikaza na strani servera gde je to moguće za prethodno filtriranje podataka kako biste suzili podatke relevantne za vaš upit.
Keširanje mreže za isporuku sadržaja: Koristite ovu tehniku za keširanje veb sadržaja na distribuiranim mrežnim serverima kako biste smanjili latenciju i poboljšali isporuku sadržaja. Keširanje mreže za isporuku sadržaja je efikasno za statički sadržaj, kao što su slike, CSS datoteke i JavaScript datoteke. Mreže za isporuku sadržaja čuvaju kopije sadržaja na više lokacija širom sveta, tako da korisnici mogu pristupiti sadržaju sa servera koji je geografski blizu njih.
Optimizacija ažuriranja podataka
Optimizacija ažuriranja podataka podrazumeva procenu ažuriranja podataka koji se izvode kako bi se osiguralo da su efikasni. Ažuriranja mogu uticati na performanse više od drugih operacija jer mogu izazvati nepotreban rad i izazvati konflikte zaključavanja.
Da biste procenili kako da optimizujete ažuriranja podataka, razmotrite:
Promene podataka. Optimizujte automatizaciju da biste koristili pre-slike podataka ili filtera kako biste smanjili rad kada nije došlo do stvarne promene. Izbegavajte pokretanje automatizacije za nemodifikovane podatke.
Automatizacija. Procijenite kada i kako se ažuriranja pokreću na osnovu promjena podataka i optimizirajte okidače kako biste uključili filter. Na primer, da pokrenete automatizaciju samo kada se modifikuje određeno polje u izvoru podataka. Procijenite ažuriranja koja postepeno pokreću automatizaciju više puta. Umesto toga, razmislite da li možete kreirati prilagođenu operaciju za obradu svih obrada. Na primer, ako se narudžba isporučuje i datum isporuke i broj za praćenje ažuriraju odvojeno, oboje se mogu ažurirati istovremeno u prilagođenoj operaciji "ShipOrder".
Zastoji. Procijenite spore operacije ažuriranja koje mogu uzrokovati probleme zbog višestrukih tokova koji ažuriraju iste podatke u različitim sekvencama. Ova neefikasnost može dovesti do zaključavanja sukoba ili čak potencijalnih zastoja, što dovodi do nepotrebnog prerade. Ažurirajte različite resurse u istom redosledu kako biste smanjili sukob.
Bulk ažuriranja. Ako pokrenete operacije na više redova tabele, razmislite o korišćenju masovnih operacija.
Optimizacija kretanja i obrade podataka
Optimizacija kretanja i obrade podataka podrazumeva poboljšanje efikasnosti i performansi operacija vezanih za ekstrakciju podataka, transformaciju, učitavanje i obradu. Razmotrite sledeće ključne aspekte optimizacije kretanja i obrade podataka:
Optimizacija ekstrakta, transformacije i opterećenja (ETL): Optimizujte ETL procese kako biste smanjili vreme obrade. Možete pojednostaviti proces ekstrakcije, implementirati efikasne algoritme transformacije i optimizirati proces učitavanja. Kada svaki korak učinite efikasnim, optimizujete ukupni tok posla.
Paralelna obrada: Koristite tehnike paralelne obrade za poboljšanje performansi. Kada distribuirate zadatke obrade podataka preko više tema ili čvorova, možete istovremeno podeliti i obraditi radno opterećenje, što rezultira brzom obradom.
Batch obrada: Grupirajte slične zadatke zajedno kako biste smanjili režijske troškove uzrokovane ponovljenim operacijama. Obradite više zadataka u seriji kako biste smanjili ukupno vreme obrade.
Dizajn za blizinu podataka
Blizina podataka odnosi se na strateško postavljanje podataka bliže korisnicima ili uslugama koje mu najčešće pristupaju. Smanjenje fizičke ili logičke udaljenosti između podataka i njegovih korisnika osigurava brži pristup podacima i poboljšanu odzivnost. Da biste optimizirali dizajn za neposrednu blizinu, razmotrite ove strategije:
Procijenite obrasce pristupa podacima: Procijenite obrasce pristupa vašeg radnog opterećenja i često pristupate podatke. Ova analiza može pomoći u određivanju gde da postavite podatke za maksimalnu korist.
Izaberite rešenja koja podržavaju preseljenje podataka: Razmotrite rešenja koja nude dinamičko premeštanje podataka na osnovu promene obrazaca pristupa, obezbeđujući optimalno pozicioniranje podataka.
Izaberite rešenja koja podržavaju sinhronizaciju podataka: Ako služite distribuiranu korisničku bazu, izaberite rešenja koja omogućavaju sinhronizaciju podataka u različitim regionima, kako biste osigurali da su replike podataka dostupne u blizini korisnika.
Kompromis: Ako se osnovni podaci često menjaju, implementirajte mehanizam za poništavanje keša kako biste osigurali da keširani podaci ostanu ažurni.
Power Platform Olakšavanju
Pratite performanse podataka: Da biste nadgledali performanse podataka, razmislite o korišćenju Azure Monitor-a za prikupljanje i analizu infrastrukturnih metrika, dnevnika i podataka o aplikacijama. Možete integrisati Monitor sa drugim uslugama kao što su Application Insights. Application Insights Obezbeđuje praćenje performansi aplikacija i podržava mnoge platforme.
Application Insights Prikuplja podatke o korišćenju i performansama. Možete koristiti Log Analitics da biste povezali te podatke sa podacima o konfiguraciji i performansama preko Azure resursa. Za Application Insights Dataverse tok podataka trenutno pruža podatke o performansama koji se odnose na Dataverse API dolazne pozive, Dataverse pozive za izvršenje plug-in i Dataverse SDK pozive.
Optimizujte obrasce podataka upita u aplikacijama platna: Pratite dokumentovane smernice i sugestije. Pogledajte Optimizovani obrasci podataka upita u Power Apps.
Optimizujte način na koji prilagođavate, proširujete ili integrišete sa Dataverse: Pratite dokumentovane najbolje prakse i smernice. Pogledajte najbolje prakse i uputstva prilikom upotrebe Microsoft Dataverse.
Optimizujte upite baze podataka i performanse indeksa: Koristite funkciju uvida u performanse upita Azure SKL baze podataka za optimizaciju upita, tabela i baza podataka. Ovu funkciju možete koristiti i za rešavanje problema sa performansama upita.
Za relacijske baze podataka, pratite smernice za dizajn indeksa , smernice za indeks SKL Servera ismernice za indeks Azure Cosmos DB . Koristite SKL bazu podataka da biste izvršili automatsko podešavanje upita kako biste poboljšali svoje performanse.
Za SKL baze podataka, trebalo bi da redovno reorganizujete ili obnavljate indekse. Identifikujte spore upite i podesite ih kako biste poboljšali performanse. Mnogi motori baze podataka imaju funkcije podešavanja upita. Za više informacija, konsultujte najbolje prakse za performanse upita.
Azure Cosmos DB ima podrazumevanu politiku indeksiranja koja indeksira svaku osobinu svake stavke i primenjuje indekse opsega za bilo koji niz ili broj. Ova politika vam pruža efikasne performanse upita i ne morate unapred upravljati indeksima.
Optimizujte opterećenje skladištenja: Mnoge usluge Azure baze podataka podržavaju replike za čitanje. Dostupnost i konfiguracija replika za čitanje variraju u zavisnosti od usluge Azure baze podataka. Pogledajte zvaničnu dokumentaciju za svaku uslugu da biste razumeli detalje i opcije.
Srodne informacije
- Pregled stvaranja performant Power Apps
- Izaberite Azure prodavnicu podataka za vašu aplikaciju
- Prilagodite Power Automate okidač protoka dodavanjem uslova
- Dataverse elastični stolovi
- Koristite SKL Server sa aplikacijama za platno
- Koristite Dataverse kao izvor podataka za aplikacije radnog područja
Kontrolna lista efikasnosti performansi
Pogledajte kompletan set preporuka.