Notă
Accesul la această pagină necesită autorizare. Puteți încerca să vă conectați sau să modificați directoarele.
Accesul la această pagină necesită autorizare. Puteți încerca să modificați directoarele.
Se aplică acestei recomandări privind lista de verificare a eficienței performanței bine concepute: Power Platform
| PE:08 | Optimizați performanța datelor. Optimizați depozitele de date pentru utilizarea lor preconizată și reală în cadrul sarcinii de lucru. |
|---|
Acest ghid descrie recomandările pentru optimizarea performanței datelor. Optimizarea performanței datelor înseamnă rafinarea eficienței cu care volumul de lucru procesează și stochează datele. Fiecare operațiune, tranzacție sau calcul al sarcinii de lucru se bazează de obicei pe recuperarea, procesarea și stocarea rapidă și precisă a datelor. Când performanța datelor este optimizată, volumul de lucru rulează fără probleme. Performanța compromisă a datelor creează un efect de domino al eficienței scăzute a performanței. Eșecul de a optimiza performanța datelor duce la întârzieri de răspuns, latență crescută și scalabilitate redusă. Pune în pericol eficiența întregului volum de muncă.
Definiții
| Termen | Definiție |
|---|---|
| Depozit de date | O resursă care stochează date, cum ar fi o bază de date, un depozit de obiecte sau o partajare de fișiere. |
| Index | O structură a bazei de date care oferă acces rapid la elemente. |
| Prelucrare analitică online (OLAP) | O tehnologie care organizează baze de date mari pentru afaceri, acceptă analize complexe și efectuează interogări analitice complexe fără a afecta negativ sistemele tranzacționale. |
| Procesarea tranzacțiilor online (OLTP) | O tehnologie care înregistrează interacțiunile de afaceri așa cum au loc în operațiunile zilnice ale unei organizații. |
| Partiționare | Procesul de divizare fizică a datelor în depozite de date separate. |
| Reglarea interogărilor | Un proces care optimizează viteza unei interogări în baza de date. |
Strategii cheie de design
Pentru a optimiza utilizarea datelor, asigurați-vă că depozitele de date sunt optimizate pentru utilizarea preconizată și pentru utilizarea lor reală într-un volum de lucru. Utilizarea optimizată a datelor poate îmbunătăți performanța interogărilor, reduce consumul de resurse și spori eficiența generală a sistemului. Luați în considerare următoarele strategii:
Date de profil. Înțelegeți-vă datele și asigurați-vă că modelul de date este potrivit pentru volumul de lucru. Luați în considerare factori precum normalizarea datelor și tehnicile de partiționare. Pentru o recuperare eficientă a datelor, asigurați-vă că selectați tipurile de date adecvate și definiți relațiile dintre tabele.
Optimizați performanța interogărilor. Analizați și optimizați interogările care rulează în cadrul sarcinii de lucru. Folosește tehnici precum optimizarea interogărilor și memorarea în cache. Folosește vizualizări pe partea de server pentru a prefiltra datele. Pentru a identifica blocajele, utilizați instrumente de monitorizare a performanței și apoi faceți îmbunătățirile necesare.
Monitorizați și reglați sistemul în mod regulat. Monitorizați continuu performanța sarcinii de lucru și iterați configurația stocării datelor și optimizările interogărilor. Pe baza celor mai bune practici de optimizare a performanței, analizați indicatorii de sistem, identificați domeniile de îmbunătățire și implementați modificări. Pe măsură ce datele cresc, este posibil să fie nevoie să actualizați interogările pentru a rămâne performante.
Date de profil
Profilarea datelor implică examinarea datelor dintr-o sursă și colectarea de informații despre acestea. Obiectivul este de a înțelege calitatea, structura și caracteristicile datelor privind volumul de lucru. Acest proces permite identificarea problemelor precum valori lipsă, duplicate, formate inconsistente și alte anomalii.
Pentru o profilare eficientă a datelor, luați în considerare următoarele strategii:
Înțelegeți structura datelor. Examinați structura datelor, inclusiv tabelele, coloanele și relațiile. Determinați tipurile de date, lungimile și constrângerile care se aplică fiecărei coloane. Evaluarea structurii datelor vă ajută să înțelegeți cum sunt organizate datele și cum se raportează acestea la alte elemente de date.
Analizați volumul de date. Evaluați volumul datelor dvs. pentru a înțelege dimensiunea generală și modelele de creștere. Determinați numărul de înregistrări sau documente și dimensiunea tabelelor sau colecțiilor individuale. Aceste informații vă ajută să estimați cerințele de stocare și să identificați problemele de scalabilitate.
Identificați relațiile de date. Explorați relațiile dintre elementele de date. Înțelegeți cum sunt conectate datele, astfel încât să puteți determina cum modificările dintr-un tabel sau document ar putea afecta datele conexe.
Evaluați calitatea datelor. Evaluați calitatea datelor dvs. examinând factori precum caracterul complet, acuratețea, consecvența și unicitatea. Identificați anomalii de date, valori lipsă sau înregistrări duplicate care ar putea afecta integritatea datelor și performanța interogărilor. Acest pas vă ajută să identificați domeniile pentru curățarea și îmbunătățirea datelor.
Capturați distribuția datelor. Analizați distribuția valorilor în fiecare coloană pentru a determina tiparele de date. Identificați valorile frecvente și rare, valorile aberante și asimetriile datelor. Pentru a optimiza performanța interogărilor, analizați dacă cheile alternative ar fi potrivite pentru a oferi o performanță îmbunătățită.
Monitorizați performanța datelor
Monitorizarea performanței datelor este practica de urmărire constantă a eficienței depozitelor de date. Implică colectarea și analizarea indicatorilor de performanță specifici operațiunilor cu date, utilizând instrumente adaptate pentru soluții de monitorizare la nivel de sistem, specifice bazei de date sau de la terți. Monitorizarea eficientă a performanței datelor vă permite să identificați și să atenuați în mod proactiv potențialele blocaje, asigurându-vă că procesele și sarcinile legate de date sunt eficiente.
Pentru a monitoriza performanța datelor, luați în considerare următoarele strategii:
Colectați indicatori specifici datelor. Colectați indicatori cheie care au legătură directă cu performanța datelor. Aceste valori includ timpii de răspuns la interogări și debitul de date.
Configurațialerte de date. Configurați alerte special pentru valorile de date. Folosește praguri predefinite sau anomalii în aceste valori pentru a declanșa alerte. Alertele vă permit să primiți notificări atunci când valorile indicatorilor de performanță depășesc intervalele acceptabile sau prezintă un comportament anormal; de exemplu, dacă o interogare a bazei de date durează mai mult decât se așteaptă sau dacă debitul de date scade semnificativ. Puteți configura aceste alerte folosind instrumente de monitorizare specializate sau scripturi personalizate.
Diagnosticați problemele de performanță a datelor. Revizuiți periodic indicatorii de date colectați pentru a identifica potențiale blocaje de performanță sau degradarea operațiunilor cu date. Instrumentele de vizualizare sau tablourile de bord pot fi neprețuite în acest proces, ajutând la evidențierea tendințelor, blocajelor și a valorilor aberante în performanța datelor. Odată identificate, investigați cauzele profunde ale acestor probleme și planificați pașii de remediere adecvați.
Datele partiției
Partiționarea implică împărțirea seturilor mari de date sau a sarcinilor de lucru cu volum mare în subseturi mai mici, ușor de gestionat. Partiționarea îmbunătățește eficiența performanței datelor prin distribuirea volumului de lucru și îmbunătățirea procesării paralele. De asemenea, asigură un acces mai eficient la date, bazat pe nevoi specifice și modele de interogare. Puteți partiționa datele pe verticală sau pe orizontală (numită și sharding). De exemplu, dacă folosiți tabele elastice, luați în considerare care ar trebui să fie cheia de partiționare. Dataverse
| Strategie | Definiție | Exemplu | Cazuri de utilizare |
|---|---|---|---|
| Compartimentare verticală | Împărțiți un tabel în tabele mai mici selectând coloane sau câmpuri specifice pentru fiecare partiție. Fiecare partiție reprezintă un subset al datelor complete. | Dacă aveți un tabel cu coloanele A, B, C și D, puteți crea un tabel cu coloanele A și B și un altul cu coloanele C și D. | Un tabel conține mai multe coloane, dar interogările nu accesează toate coloanele împreună. Unele coloane sunt mai mari decât altele, iar separarea lor poate îmbunătăți performanța I/O. - Diferite părți de date au modele de acces diverse. |
| Compartimentare orizontală | Împărțirea datelor pe baza rândurilor sau intervalelor de valori (cunoscută și sub denumirea de sharding). Fiecare partiție conține un subset de rânduri cu caracteristici similare. | Dacă aveți un tabel cu rândurile de la 1 la 1000, puteți crea o partiție cu rândurile de la 1 la 500 și o alta cu rândurile de la 501 la 1000. | Un set de date este prea mare pentru o singură locație sau un singur server. - Datele sunt accesate pe baza unor intervale sau filtre specifice. - Necesitatea distribuirii volumului de muncă între noduri fizice sau servere pentru performanțe îmbunătățite. |
Pentru a partiționa datele, luați în considerare următorii pași:
Analizați datele și interogările. Analizați modelele de date și interogări pentru a identifica strategii adecvate de partiționare sau fragmentare. Înțelegeți natura datelor, modelele de acces și cerințele de distribuție.
Determinați o cheie. Alegeți o cheie de partiționare sau fragmentare pentru a distribui datele între partiții sau fragmente. Selectați cu atenție cheia pe baza caracteristicilor datelor și a cerințelor interogării.
Determinați logica. Determinați o logică de partiționare sau fragmentare pe baza cheii alese. Luați în considerare împărțirea datelor în intervale, aplicarea de algoritmi de hashing sau utilizarea altor tehnici de partiționare.
Optimizați interogările
Optimizarea interogărilor rafinează interogările pentru a reduce datele care se califică și datele returnate. Aceste ajustări cresc eficiența și viteza de recuperare a datelor. Prin urmare, baza de date are o sarcină de lucru mai ușoară, resursele funcționează mai eficient, iar utilizatorii se bucură de interacțiuni mai fluide.
Pentru a optimiza interogările bazei de date, luați în considerare următoarele strategii:
Rescrieți interogările. Revizuiți și analizați interogările complexe pentru a identifica oportunități de rescriere a acestora. Luați în considerare restructurarea logicii interogărilor, eliminarea operațiilor redundante sau simplificarea sintaxei interogărilor.
Evitați problema interogărilor N+1. Minimizați numărul de accesări dus-întors către baza de date utilizând joncțiuni și preluare în lot pentru a recupera eficient datele corelate.
Reordonați asocierile. Evaluați și luați în considerare rearanjarea ordinii de joncțiune pentru a minimiza numărul de rânduri din fiecare operațiune de joncțiune. Ordinea în care uniți tabelele poate afecta performanța interogărilor.
Interogări în cache. Stocați rezultatele interogărilor executate frecvent pentru o reutilizare ușoară. Cache-ul interogărilor elimină necesitatea rulării repetate a aceleiași interogări și reduce cheltuielile generale de procesare a interogărilor.
Monitorizează și ajustează. Monitorizați indicatorii de performanță ai interogărilor, cum ar fi timpul de execuție, utilizarea resurselor și debitul interogărilor. Folosește instrumente de profilare a bazelor de date și funcționalități de monitorizare pentru a identifica interogările cu performanțe slabe. Folosește aceste informații pentru a optimiza performanța interogării.
Arhivarea și ștergerea datelor
Arhivarea și ștergerea datelor sunt strategii care eficientizează stocarea datelor. Arhivarea mută datele mai vechi, mai rar accesate, într-un spațiu de stocare mai rentabil. Ștergerea datelor elimină definitiv datele redundante. Ambele metode contribuie la eficiența performanței prin reducerea volumului de date, creșterea vitezei de acces la date și reducerea timpilor de backup și recuperare.
- Reducerea volumului de date: Mai puține date înseamnă timpi de procesare mai rapizi, asigurând răspunsuri rapide la solicitările utilizatorilor.
- Creșterea vitezei de acces la date: Un set de date redus permite interogări și regăsire a datelor mai rapide, optimizând timpul de răspuns al sistemului.
- Reducerea timpilor de backup și recuperare: Seturile de date mai mici accelerează procesele de backup și restaurare, reducând la minimum timpul de nefuncționare și asigurând performanțe constante.
Arhivarea și epurarea sunt esențiale în menținerea eficienței maxime a performanței în sistemele bazate pe date.
Optimizați încărcarea spațiului de stocare
Optimizarea încărcării spațiului de stocare înseamnă eficientizarea solicitărilor către sistemul de stocare. Ajută la eliminarea solicitărilor inutile, îmbunătățește recuperarea datelor și evită suprasolicitarea sistemului de stocare. Optimizarea încărcării spațiului de stocare asigură că sistemul de stocare rămâne receptiv la solicitările legitime și menține performanțe maxime. Implementați strategii pentru a reduce sarcina de procesare asupra depozitului de date. Pentru a optimiza încărcarea depozitului de date, luați în considerare strategiile următoare.
Folosește memoria cache
Cache-ul stochează datele accesate frecvent într-o zonă de stocare cu acces rapid, ceea ce face ca recuperarea datelor să fie mai rapidă decât extragerea lor din sursa principală. Această tehnică îmbunătățește performanța datelor prin reducerea timpilor de acces și evitarea preluării repetitive a datelor. Cache-ul îmbunătățește vitezele de citire și timpii de răspuns ai utilizatorilor, în special pentru datele accesate frecvent. Această metodă este cea mai eficientă pentru datele statice sau pentru datele care se modifică rar.
Pentru a asigura o eficiență optimă a memorării în cache, luați în considerare factori precum politicile de expirare, strategiile de evictare și gestionarea dimensiunii memoriei cache. Ajustați setările, cum ar fi timpul de viață (TTL), pentru performanță optimă. Pentru a utiliza o memorie cache pentru a optimiza încărcarea spațiului de stocare, luați în considerare următoarele strategii:
Cache în memorie: Efectuează cache în memorie pentru a stoca datele accesate frecvent în memorie, pentru o recuperare rapidă. Puteți utiliza această tehnică pentru datele aplicației care sunt costisitoare de calculat sau de recuperat dintr-o bază de date. Cache-ul în memorie este util pentru datele pe care le citiți frecvent, dar nu se modifică frecvent. De exemplu, puteți utiliza variabile în fluxuri în cloud sau colecții în aplicații pe pânză pentru a stoca în cache datele.
Cache-ul interogărilor bazei de date: Folosiți această tehnică pentru a memora în cache rezultatele interogărilor bazei de date pentru a evita rularea aceleiași interogări de mai multe ori. Cache-ul interogărilor bazei de date este util pentru interogările bazei de date complexe și consumatoare de timp. Când memorați în cache rezultatele unei interogări, solicitările ulterioare pentru aceeași interogare sunt returnate rapid. De asemenea, luați în considerare utilizarea vizualizărilor pe server, acolo unde este posibil, pentru a prefiltra datele și a restrânge datele relevante pentru interogarea dvs.
Cache-ul rețelei de livrare a conținutului: Folosiți această tehnică pentru a stoca în cache conținutul web pe serverele de rețea distribuite pentru a reduce latența și a îmbunătăți livrarea conținutului. Cache-ul rețelei de distribuire a conținutului este eficient pentru conținutul static, cum ar fi imagini, fișiere și fișiere JavaScript. CSS Rețelele de livrare de conținut stochează copii ale conținutului în mai multe locații din întreaga lume, astfel încât utilizatorii pot accesa conținutul de pe un server aflat în apropierea lor geografică.
Optimizați actualizările de date
Optimizarea actualizărilor de date implică evaluarea actualizărilor de date efectuate pentru a asigura performanța acestora. Actualizările pot afecta performanța mai mult decât alte operațiuni, deoarece pot declanșa lucrări inutile și pot cauza conflicte de blocare.
Pentru a evalua cum să optimizați actualizările de date, luați în considerare:
Modificări de date. Optimizați automatizarea pentru a utiliza imagini prealabile ale datelor sau filtre pentru a minimiza munca atunci când nu a avut loc nicio modificare reală. Evitați declanșarea automatizării pentru datele nemodificate.
Automatizare. Evaluați când și cum sunt declanșate actualizările pe baza modificărilor datelor și optimizați declanșatoarele pentru a include un filtru. De exemplu, pentru a declanșa automatizarea doar atunci când este modificat un anumit câmp din sursa de date. Evaluați actualizările care declanșează incremental automatizări de mai multe ori. În schimb, ia în considerare dacă poți crea o operațiune personalizată pentru a gestiona toată procesarea. De exemplu, dacă o comandă este expediată și data expedierii și numărul de urmărire sunt actualizate separat, ambele ar putea fi actualizate simultan într-o operațiune personalizată „ComandăExpediere”.
Blocaje. Evaluați operațiunile lente de actualizare care ar putea cauza probleme din cauza fluxurilor multiple care actualizează aceleași date în secvențe diferite. Această ineficiență poate duce la conflicte de blocare sau chiar la potențiale blocaje, rezultând în reluări inutile. Actualizați diferitele resurse în aceeași secvență pentru a minimiza conflictele.
Actualizări în bloc. Dacă executați operațiuni pe mai multe rânduri ale unui tabel, luați în considerare utilizarea operațiuni în vrac.
Optimizați mișcarea și procesarea datelor
Optimizarea mișcării și procesării datelor implică îmbunătățirea eficienței și performanței operațiunilor legate de extragerea, transformarea, încărcarea și procesarea datelor. Luați în considerare următoarele aspecte cheie ale optimizării mișcării și procesării datelor:
Optimizare prin extragere, transformare și încărcare (ETL) Optimizați procesele ETL pentru a minimiza timpul de procesare. Puteți eficientiza procesul de extracție, implementa algoritmi de transformare eficienți și optimiza procesul de încărcare. Când faci fiecare pas eficient, optimizezi fluxul de lucru general.
Procesare paralelă Folosiți tehnici de procesare paralelă pentru a îmbunătăți performanța. Când distribuiți sarcini de procesare a datelor pe mai multe fire de execuție sau noduri, puteți diviza și procesa simultan volumul de lucru, ceea ce duce la o procesare rapidă.
Prelucrare în loturi Grupați sarcini similare pentru a reduce cheltuielile de serviciu cauzate de operațiunile repetate. Procesați mai multe sarcini într-un lot pentru a reduce timpul total de procesare.
Proiectare pentru proximitatea datelor
Proximitatea datelor se referă la plasarea strategică a datelor mai aproape de utilizatorii sau serviciile care le accesează cel mai frecvent. Reducerea distanței fizice sau logice dintre date și utilizatorii acestora asigură un acces mai rapid la date și o capacitate de răspuns îmbunătățită. Pentru a optimiza designul pentru proximitate, luați în considerare aceste strategii:
Evaluați modelele de acces la date Evaluați modelele de acces ale sarcinii de lucru și datele accesate frecvent. Această analiză poate ajuta la determinarea locului în care să plasăm datele pentru beneficii maxime.
Alegeți soluții care acceptă relocarea datelor: Luați în considerare soluții care oferă relocare dinamică a datelor bazată pe modele de acces în schimbare, asigurând o poziționare optimă a datelor.
Alegeți soluții care acceptă sincronizarea datelor: Dacă deserviți o bază de utilizatori distribuită, alegeți soluții care permit sincronizarea datelor în diferite regiuni, pentru a vă asigura că replicile de date sunt disponibile în apropierea utilizatorilor.
Compromis: Dacă datele subiacente se modifică frecvent, implementați un mecanism de invalidare a memoriei cache pentru a vă asigura că datele din cache rămân actualizate.
Power Platform facilitare
Monitorizarea performanței datelor: Pentru a monitoriza performanța datelor, luați în considerare utilizarea Azure Monitor pentru a colecta și analiza indicatorii de infrastructură, jurnalele și datele aplicațiilor. Puteți integra Monitor cu alte servicii precum Application Insights. Application Insights oferă monitorizare a performanței aplicațiilor și este compatibil cu multe platforme.
Application Insights colectează date despre utilizare și performanță. Puteți utiliza Log Analytics pentru a corela aceste date cu datele de configurare și performanță din resursele Azure. Fluxul de date *for* oferă în prezent date de performanță legate de *apelurile API primite*, *apelurile de execuție a plugin-urilor* și *apelurile SDK*. Application Insights Dataverse Dataverse Dataverse Dataverse
Optimizați modelele de date de interogare în aplicațiile canvas: Urmați instrucțiunile și sugestiile documentate. Consultați Modele de date de interogare optimizate în Power Apps.
Optimizați modul în care personalizați, extindeți sau integrați cu Dataverse: Urmați cele mai bune practici și îndrumările documentate. Consultați Cele mai bune practici și îndrumări privind utilizarea Microsoft Dataverse.
Optimizați performanța interogărilor bazei de date și a indexului: Utilizați funcția de informații despre performanța interogărilor din baza de date Azure SQL pentru a optimiza interogările, tabelele și bazele de date. De asemenea, puteți utiliza această caracteristică pentru a identifica și depana problemele de performanță ale interogărilor.
Pentru bazele de date relaționale, urmați instrucțiunile de proiectare a indexurilor, instrucțiunile de indexare SQL Server și instrucțiunile de indexare Azure Cosmos DB . Folosește baza de date SQL pentru a efectua ajustări automate ale interogărilor și a le îmbunătăți performanța.
Pentru bazele de date SQL, ar trebui să reorganizați sau să reconstruiți indexurile în mod regulat . Identificați interogările lente și ajustați-le pentru a îmbunătăți performanța. Multe motoare de baze de date au funcții de optimizare a interogărilor. Pentru mai multe informații, consultați *cele mai bune practici pentru performanța interogărilor*. ...
Azure Cosmos DB are o politică de indexare implicită care indexează fiecare proprietate a fiecărui element și impune indexuri de interval pentru orice șir sau număr. Această politică vă oferă performanță eficientă a interogărilor și nu trebuie să gestionați indexurile în avans.
Optimizați încărcarea spațiului de stocare: Multe servicii de baze de date Azure acceptă replici de citire. Disponibilitatea și configurația replicilor de citire variază în funcție de serviciul de baze de date Azure. Consultați documentația oficială a fiecărui serviciu pentru a înțelege detaliile și opțiunile.
Informații corelate
- Prezentare generală a creării de performanțe Power Apps
- Selectați un depozit de date Azure pentru aplicația dvs.
- Personalizați un declanșator de flux prin adăugarea de condiții Power Automate
- Dataverse mese elastice
- Utilizarea SQL Server cu aplicații proiectate pe pânză
- Utilizarea Dataverse ca sursă de date pentru aplicațiile proiectate pe pânză
Listă de verificare a eficienței performanței
Consultați setul complet de recomandări.