Javaslatok az adatteljesítmény optimalizálásához

Az Azure Well-Architected-keretrendszer teljesítményhatékonysági ellenőrzőlistájára vonatkozó javaslat:

PE:08 Optimalizálja az adatteljesítményt. Optimalizálja az adattárakat, partíciókat és indexeket a számítási feladatban való tervezett és tényleges használatukhoz.

Ez az útmutató az adatteljesítmény optimalizálására vonatkozó javaslatokat ismerteti. Az adatteljesítmény optimalizálása annak a hatékonyságnak a finomítását jelenti, amellyel a számítási feladat feldolgozza és tárolja az adatokat. Minden számítási feladat, tranzakció vagy számítás általában az adatok gyors és pontos lekérésére, feldolgozására és tárolására támaszkodik. Az adatteljesítmény optimalizálása esetén a számítási feladat zökkenőmentesen fut. A sérült adatteljesítmény a gyenge teljesítményhatékonyság dominóhatását eredményezi. Az adatteljesítmény optimalizálásának elmulasztása válaszkéséseket, nagyobb késést és korlátozott méretezhetőséget eredményez. Ez veszélyezteti a teljes számítási feladat hatékonyságát.

Definíciók

Időszak Definíció
CAP-tétel A konzisztencia, a rendelkezésre állás és a partíciótűrés megfontolására szolgáló keretrendszer, amely segít az adatkonzisztencia kompromisszumainak magyarázatában.
Adatbázisindex újraépítése Egy karbantartási tevékenység, amely elveti és újra létrehozza az indexet.
Adatbázis-indexek átrendezése Karbantartási tevékenység, amely optimalizálja az aktuális adatbázis-indexet.
Adattár Olyan erőforrás, amely adatokat, például adatbázist, objektumtárolót vagy fájlmegosztást tárol.
Végleges konzisztencia Adatszinkronizálási modell, amely lehetővé teszi az adatreplikák ideiglenes inkonzisztenciáját, mielőtt végül szinkronizálnák őket.
Index Egy adatbázis-struktúra, amely gyors hozzáférést biztosít az elemekhez.
Online analitikus feldolgozás (OLAP) Egy olyan technológia, amely nagy üzleti adatbázisokat rendszerez, támogatja az összetett elemzéseket, és összetett elemzési lekérdezéseket hajt végre anélkül, hogy negatív hatással van a tranzakciós rendszerekre.
Online tranzakciófeldolgozás (OLTP) Olyan technológia, amely az üzleti interakciókat a szervezet napi műveletei során rögzíti.
Optimista egyidejűség A hagyományos zárolási mechanizmusok helyett a pillanatképeket használó adatbázisok frissítésére szolgáló módszer, amely javítja a teljesítményt és a méretezhetőséget.
PACELC-tétel A partíciótűrés, a rendelkezésre állás, a konzisztencia és a késés megfontolására szolgáló keretrendszer, amely segít megmagyarázni az adatkonzisztencia kompromisszumait.
Particionálás Az adatok különálló adattárakba való fizikai felosztásának folyamata.
Lekérdezés finomhangolása Egy folyamat, amely optimalizálja az adatbázis-lekérdezések sebességét.
Replika olvasása Egy elsődleges adatbázis élő másolata, amely lehetővé teszi az olvasási forgalom kiszervezését egy írási adatbázisból.

Fő tervezési stratégiák

Az adathasználat optimalizálásához győződjön meg arról, hogy az adattárak, partíciók és indexek a kívánt használatra és a számítási feladatokban való tényleges használatra vannak optimalizálva. Az optimalizált adathasználat javíthatja a lekérdezési teljesítményt, csökkentheti az erőforrás-felhasználást, és javíthatja a rendszer általános hatékonyságát. Vegye figyelembe a következő stratégiákat:

  • Profiladatok. Ismerje meg az adatokat, és győződjön meg arról, hogy az adatmodell megfelelő a számítási feladatokhoz. Vegye figyelembe az olyan tényezőket, mint az adat normalizálása, az indexelési stratégiák és a particionálási technikák. A hatékony adatlekérés érdekében győződjön meg arról, hogy megfelelő adattípusokat választ ki, kapcsolatokat határoz meg az entitások között, és meghatározza az optimális indexelési stratégiát.

  • Az adattárolási konfiguráció finomhangolása. Konfigurálja az adattárolási infrastruktúrát úgy, hogy megfeleljen a számítási feladatokra vonatkozó követelményeknek. Válasszon ki egy megfelelő tárolási technológiát, például relációs adatbázisokat, NoSQL-adatbázisokat és adattárházakat. Optimalizálja a tárolási beállításokat, például a pufferméretet, a gyorsítótárazási mechanizmusokat és a tömörítést.

  • Lekérdezési teljesítmény optimalizálása. Elemezheti és optimalizálhatja a számítási feladatban futó lekérdezéseket. Használjon olyan technikákat, mint a lekérdezésoptimalizálás, az indexelés és a gyorsítótárazás. A szűk keresztmetszetek azonosításához használja a lekérdezésterveket és a teljesítménymonitorozási eszközöket, majd végezze el a szükséges fejlesztéseket.

  • Rendszeresen monitorozza és hangolja a rendszert. Folyamatosan monitorozza a számítási feladat teljesítményét, és iteráljon az adattárolási konfiguráción és a lekérdezésoptimalizáláson. A teljesítményhangolási ajánlott eljárások alapján elemezheti a rendszermetrikákat, azonosíthatja a fejlesztési területeket, és végrehajthatja a módosításokat.

Profiladatok

Az adatprofilozás magában foglalja a forrásból származó adatok vizsgálatát és az azokkal kapcsolatos információk gyűjtését. A cél a számítási feladatok adatainak minősége, struktúrája és jellemzőinek megismerése. Ez a folyamat lehetővé teszi az olyan problémák azonosítását, mint a hiányzó értékek, ismétlődések, inkonzisztens formátumok és egyéb anomáliák. A hatékony adatprofilozáshoz vegye figyelembe a következő stratégiákat:

  • Az adatstruktúra megismerése. Vizsgálja meg az adatok struktúráját, beleértve a táblákat, oszlopokat és kapcsolatokat. Határozza meg az egyes oszlopokra alkalmazott adattípusokat, hosszokat és korlátozásokat. Az adatstruktúra kiértékelése segít megérteni az adatok rendszerezését és a más adatelemekhez való viszonyát.

  • Elemezze az adatkötetet. Mérje fel az adatok mennyiségét a teljes méret és a növekedési minták megismeréséhez. Határozza meg a rekordok vagy dokumentumok számát, valamint az egyes táblák vagy gyűjtemények méretét. Ezek az információk segítenek megbecsülni a tárolási követelményeket és azonosítani a méretezhetőségi problémákat.

  • Adatkapcsolatok azonosítása. Megismerheti az adatelemek, például az elsődleges és az idegenkulcs-kapcsolatok közötti kapcsolatokat. Megismerheti az adatok csatlakoztatásának módját, így meghatározhatja, hogy egy tábla vagy dokumentum változásai milyen hatással lehetnek a kapcsolódó adatokra.

  • Az adatminőség felmérése. Értékelje ki az adatok minőségét olyan tényezők vizsgálatával, mint a teljesség, a pontosság, a konzisztencia és az egyediség. Azonosítsa az adatanomáliákat, a hiányzó értékeket vagy a duplikált rekordokat, amelyek befolyásolhatják az adatintegritást és a lekérdezési teljesítményt. Ez a lépés segít azonosítani az adattisztítás és -fejlesztés területeit.

  • Adatterjesztés rögzítése. Elemezze az értékek eloszlását az egyes oszlopokban az adatminták meghatározásához. Gyakori és ritka értékek, kiugró értékek és adateltérések azonosítása. A lekérdezési teljesítmény optimalizálásához válassza ki a megfelelő indexelési stratégiákat és lekérdezésoptimalizálási technikákat a terjesztés alapján.

Adatteljesítmény monitorozása

Az adatteljesítmény monitorozása az adattárak, partíciók és indexek hatékonyságának valós idejű nyomon követésének gyakorlata. Magában foglalja az adatműveletek teljesítménymetrikáinak gyűjtését és elemzését, rendszerszintű, adatbázis-specifikus vagy külső monitorozási megoldásokhoz szabott eszközök használatával. A hatékony adatteljesítmény-monitorozás lehetővé teszi a lehetséges szűk keresztmetszetek proaktív azonosítását és mérséklését, biztosítva az adatokkal kapcsolatos folyamatok és feladatok hatékony működését. Az adatteljesítmény monitorozásához vegye figyelembe az alábbi stratégiákat:

  • Gyűjtsön adatspecifikus metrikákat. Gyűjtse össze az adatteljesítményhez közvetlenül kapcsolódó főbb metrikákat. Ezek a metrikák közé tartoznak a lekérdezési válaszidők, az adatátviteli sebesség, az adathozzáféréshez kapcsolódó lemez I/O- és adott adatpartíciók betöltési ideje.

  • Adatriasztások beállítása. Riasztások beállítása kifejezetten adatmetrikákhoz. A metrikákban előre definiált küszöbértékeket vagy anomáliákat használhat a riasztások aktiválásához. A riasztások lehetővé teszik az értesítések fogadását, ha a teljesítménymetrikák túllépik az elfogadható tartományokat, vagy rendellenes viselkedést mutatnak. Ha például egy adatbázis-lekérdezés a vártnál tovább tart, vagy ha az adatátmenet jelentősen csökken, riasztást aktivál. Ezeket a riasztásokat speciális monitorozási eszközökkel vagy egyéni szkriptekkel állíthatja be.

  • Adatteljesítmény-problémák diagnosztizálása. Rendszeresen tekintse át az összegyűjtött adatmetrikákat, hogy megállapítsa az adatműveletek lehetséges teljesítménybeli szűk keresztmetszeteit vagy romlását. A vizualizációs eszközök vagy irányítópultok felbecsülhetetlen értékűek lehetnek ebben a folyamatban, így kiemelhetők a trendek, a szűk keresztmetszetek és az adatteljesítmény kiugró értéke. Miután azonosította, ássa be a problémák kiváltó okait, és bontsa ki a megfelelő javítási lépéseket.

Partícióadatok

A particionálás magában foglalja a nagy adathalmazok vagy a nagy mennyiségű számítási feladatok kisebb, kezelhető részhalmazokra való felosztását. A particionálás a számítási feladatok elosztásával és a párhuzamos feldolgozás javításával javítja az adatteljesítmény hatékonyságát. Emellett hatékonyabb adathozzáférést is biztosít adott igények és lekérdezési minták alapján. Az adatokat függőlegesen vagy vízszintesen is particionálhatja (más néven horizontális skálázás).

Stratégia Definíció Példa Használati esetek
Függőleges particionálás A táblákat kisebb táblákra oszthatja úgy, hogy az egyes partíciókhoz adott oszlopokat vagy mezőket választ ki. Minden partíció a teljes adatok egy részhalmazát jelöli. Ha A, B, C és D oszlopot tartalmazó táblázata van, létrehozhat egy táblát az A és a B oszlopokkal, a másikat pedig a C és a D oszlopokkal. – A táblák sok oszlopot tartalmaznak, de a lekérdezések nem férnek hozzá az összes oszlophoz.
– Egyes oszlopok nagyobbak, mint mások, és a szétválasztásuk növelheti az I/O-teljesítményt.
– A különböző adatrészek különböző hozzáférési mintákkal rendelkeznek.
Vízszintes particionálás Adatok felosztása sorok vagy értéktartományok alapján (más néven horizontális felosztás). Minden partíció a hasonló jellemzőkkel rendelkező sorok egy részét tartalmazza. Ha 1–1000 sorú táblázattal rendelkezik, létrehozhat egy partíciót 1–500 sorokkal, egy másikat pedig 501–1000 sorokkal. – Az adathalmaz túl nagy egyetlen helyhez vagy kiszolgálóhoz.
– Az adatok adott tartományok vagy szűrők alapján érhetők el.
– A nagyobb teljesítmény érdekében el kell osztania a számítási feladatot fizikai csomópontok vagy kiszolgálók között.

Az adatok particionálásához vegye figyelembe az alábbi lépéseket:

  • Adatok és lekérdezések elemzése. Elemezze az adatokat és a lekérdezési mintákat a megfelelő particionálási vagy horizontális skálázási stratégiák azonosításához. Az adatok természetének, a hozzáférési mintáknak és a terjesztési követelményeknek a megismerése.

  • Kulcs meghatározása. Válasszon particionálási vagy horizontális skálázási kulcsot az adatok partíciók vagy szegmensek közötti elosztásához. Gondosan válassza ki a kulcsot az adatjellemzők és a lekérdezési követelmények alapján.

  • Határozza meg a logikát. A választott kulcs alapján határozza meg a particionálási vagy horizontális skálázási logikát. Fontolja meg az adatok tartományokra való felosztását, kivonatoló algoritmusok alkalmazását vagy más particionálási technikák használatát.

  • Konfigurálja az infrastruktúrát. Konfigurálja az adatbázisrendszert a particionálás vagy a horizontális skálázás támogatásához. Fontolja meg a szükséges infrastruktúra létrehozását, a partíciók vagy szegmensek meghatározását és az adatterjesztés konfigurálását.

További információ: Adatparticionálási útmutató.

Adatbázis-lekérdezések optimalizálása

Az adatbázis-lekérdezések optimalizálása olyan technikákkal pontosítja a lekérdezéseket, mint az indexmutatók és a gyorsítótárazás. Ezek a kiigazítások növelik az adatlekérés hatékonyságát és sebességét. Ennek eredményeképpen az adatbázis kisebb számítási feladatokkal rendelkezik, az erőforrások hatékonyabban működnek, és a felhasználók gördülékenyebb interakciókat élveznek. Az adatbázis-lekérdezések optimalizálásához vegye figyelembe a következő stratégiákat:

  • Lekérdezések újraírása. Tekintse át és elemezze az összetett lekérdezéseket az újraírási lehetőségek azonosításához. Fontolja meg a lekérdezési logika szerkezetátalakítását, a redundáns műveletek megszüntetését vagy a lekérdezési szintaxis egyszerűsítését.

  • Kerülje az N+1 lekérdezési problémát. A kapcsolódó adatok hatékony lekéréséhez az illesztések és kötegelt beolvasások használatával minimalizálhatja az adatbázisra vonatkozó kerekítések számát.

  • Újrarendeli a csatlakozásokat. Értékelje ki a lekérdezéstervet, és fontolja meg az illesztési sorrend átrendezését az egyes illesztési műveletek sorainak minimálisra csökkentése érdekében. A táblák illesztési sorrendje befolyásolhatja a lekérdezések teljesítményét.

  • Indexmutatók használata. Indexmutatókat használjon, hogy az adatbázismotorok meg tudják adni az indexek használatát a lekérdezés futtatásakor. Az indexmutatók útmutatást adnak az optimalizálónak a legmegfelelőbb indexek kiválasztásához.

  • Gyorsítótár-lekérdezések. Tárolja a gyakran futtatott lekérdezések eredményeit a memóriában. A lekérdezések gyorsítótárazása szükségtelenné teszi ugyanazt a lekérdezést, és csökkenti a lekérdezésfeldolgozási többletterhelést.

  • Zárolás optimalizálása. Kerülje a szükségtelen vagy korlátozó zárolási tippeket a lekérdezésekben. A hatékony zárolási stratégiák javíthatják a lekérdezési teljesítményt és az egyidejűséget. Alkalmazza az adatbázisrendszer által biztosított optimalizált zárolási mechanizmusokat. Elemezze és módosítsa az elkülönítési szinteket az adatkonzisztencia és a lekérdezési teljesítmény egyensúlya érdekében.

  • Figyelés és hangolás. Monitorozza a lekérdezési teljesítmény metrikáit, például a futtatókörnyezetet, az erőforrás-kihasználtságot és a lekérdezési átviteli sebességet. Az adatbázis-profilkészítési eszközök és a monitorozási funkciók használatával azonosíthatja a rosszul teljesítő lekérdezéseket. A lekérdezési tervek kiértékelése és finomhangolása az összegyűjtött teljesítményadatok alapján. A szűk keresztmetszetek azonosításához elemezze a lekérdezési terveket és a várakozási statisztikákat. Ez az információ a lekérdezési teljesítmény optimalizálására szolgál.

Index teljesítményének optimalizálása

Az indexek növelik az adatlekérési sebességet azáltal, hogy lehetővé teszik az adatbázisok számára, hogy gyorsan megtalálják az adatokat adott oszlopok vagy mezők használatával. Az indexek optimalizálásakor a rendezési és illesztési műveletek hatékonyabbá válnak, ami gyorsabb lekérdezésekhez vezet. A lekérdezésekhez szükséges lemez I/O-műveletekre vonatkozó, megfelelően optimalizált indexek le lesznek vágva. A felesleges vagy redundáns indexek eltávolítása értékes tárterületet is felszabadít. Az index teljesítményének optimalizálásához vegye figyelembe a következő stratégiákat:

  • Lekérdezési minták elemzése. Az adatbázison futó lekérdezési minták ismertetése. Azonosítsa a gyakran futó lekérdezéseket, és ronthatja a teljesítményt. Elemezze a lekérdezési mintákat annak megállapításához, hogy mely indexek előnyösek a teljesítmény optimalizálásához.

  • Meglévő indexek kiértékelése. Tekintse át az adatbázis meglévő indexeit. Értékelje ki a lekérdezési minták használatát, teljesítményeffektusait és relevanciáját. Azonosíthatja azokat a redundáns vagy nem használt indexeket, amelyeket eltávolíthat az írási teljesítmény javítása és a tárterület többletterhelésének csökkentése érdekében.

  • Azonosítsa az indexeléshez szükséges oszlopokat. A lekérdezések záradékai alapján azonosíthatja azokat az oszlopokat, amelyeket gyakran használnak a hol, az illesztés és a sorrend szerint . Ezek az oszlopok az indexelés lehetséges jelöltjei, mert lehetővé teszik a gyors adatlekérést.

  • Válasszon egy megfelelő indextípust. Válasszon ki egy megfelelő indextípust az adatbázis-rendszer alapján. A gyakori lehetőségek közé tartoznak az egyenlőségi és tartomány-lekérdezések b-fa indexei, a pontos egyező lekérdezések kivonatindexei, valamint a szöveges keresési műveletek teljes szöveges indexei. Válasszon egy olyan indextípust, amely a legjobban megfelel a lekérdezési követelményeknek.

  • Fontolja meg az indexoszlopok sorrendjét. Ha összetett indexeket vagy több oszlopot tartalmazó indexeket hoz létre, vegye figyelembe az oszlopok sorrendjét. Helyezze a lekérdezésekben leggyakrabban használt oszlopokat az index elejére. Az oszlopsorrend segít biztosítani, hogy a számítási feladat hatékonyan használjon indexeket a lekérdezések széles köréhez.

  • Indexméret kiegyensúlyozása. Ne hozzon létre indexeket alacsony számosságú oszlopokon vagy alacsony számú különböző értékkel rendelkező oszlopokon. Az ilyen indexek nem hatékonyak lehetnek, és növelhetik az adatbázis méretét. Ehelyett a magas szelektivitású indexoszlopokat kell indexelni.

  • Indexhasználat fenntartása. Folyamatosan monitorozza az indexek használatát és teljesítményét. Keressen lehetőséget új indexek létrehozására vagy meglévő indexek módosítására a lekérdezési minták vagy a teljesítménykövetelmények változásai alapján. Távolítsa el vagy frissítse a már nem előnyös indexeket. Az indexek karbantartási többletterheléssel rendelkeznek. Az adatok változásakor az indexek töredezettek lehetnek, és hatással lehetnek a teljesítményre. Az optimális teljesítmény biztosítása érdekében rendszeresen végezze el az indexkarbantartási feladatokat, például az indexek újraépítését vagy átrendezését.

  • Tesztelés és ellenőrzés. Mielőtt éles környezetben módosítja az indexeket, végezzen alapos tesztelést és ellenőrzést. Mérje meg az indexváltozatok teljesítményhatását reprezentatív számítási feladatok használatával. Ellenőrizze a fejlesztéseket az előre meghatározott teljesítménytesztekkel szemben.

Kompromisszum: A B-fa indexek magas tárolási többletterheléssel járhatnak, és a pontos egyezésű lekérdezések lassúak lehetnek. A kivonatindexek nem alkalmasak tartománylekérdezésekhez vagy összehasonlító operátorokhoz. Előfordulhat, hogy a teljes szöveges indexek magas tárolási követelményeket támasztanak, és a nem szöveges adatlekérdezések lassúak lehetnek.

Fontolja meg az adattömörítést

Az adattömörítés az adatok méretének csökkentésének folyamata a tárterület optimalizálása és a számítási feladatok teljesítményének növelése érdekében. A tömörített adatok kevesebb tárterületet és kevesebb sávszélességet igényelnek az átvitelhez, ami gyors adatátvitelt eredményez. Az adatokat tömörítené a tárterület lábnyomának csökkentése és az adatelérési idő javítása érdekében. Az adatok tömörítése csökkenti az I/O-műveletekre és a hálózati sávszélességre vonatkozó követelményeket.

A veszteségmentes tömörítés és a veszteséges tömörítés adattömörítési algoritmusok. A veszteségmentes tömörítési algoritmusok anélkül csökkentik az adatok méretét, hogy bármilyen információ elveszne. A veszteséges tömörítési algoritmusok magas tömörítési arányokat érnek el a kevésbé fontos vagy redundáns információk eltávolításával.

Kompromisszum: Az adatok tömörítéséhez és felbontásához olyan számítási erőforrásokra van szükség, mint a processzor és a memória. Minél több adatot tömörít, annál több erőforrásra van szüksége.

Adatok archiválása és végleges törlése

Az archiválás és a törlés olyan stratégiák, amelyek leegyszerűsítik az adattárolást. Az archiválás költséghatékonyabb tárolóba helyezi át a régebbi, ritkábban használt adatokat. Az adatok végleges törlése végleg eltávolítja a redundáns adatokat. Az adatmennyiség csökkentésével, az adathozzáférési sebesség növelésével, valamint a biztonsági mentési és helyreállítási idő csökkentésével hozzájárulnak a teljesítmény hatékonyságához:

  • Adatmennyiség csökkentése: A kevesebb adat gyorsabb feldolgozási időt jelent, így gyors választ biztosít a felhasználói kérésekre.

  • Adathozzáférési sebesség növelése: A levágott adathalmaz gyorsabb lekérdezéseket és adatlekérést tesz lehetővé, optimalizálva a rendszer válaszképességét.

  • A biztonsági mentési és helyreállítási idő csökkentése: A kisebb adathalmazok felgyorsítják a biztonsági mentési és visszaállítási folyamatokat, minimalizálják az állásidőt, és egységes teljesítményt biztosítanak.

Az archiválás és a törlés az adatvezérelt rendszerek csúcsteljesítmény-hatékonyságának fenntartásában is szerepet játszott.

A tárterület terhelésének optimalizálása

A tárolási terhelés optimalizálása azt jelenti, hogy streameli a kéréseket a tárolórendszer felé. Segít kiküszöbölni a szükségtelen kéréseket. Emellett javítja az adatlekérést, és megakadályozza a tároló túlterhelését. A tárolási terhelés optimalizálása biztosítja, hogy a tárolórendszer továbbra is reagáljon a jogos kérésekre, és fenntartsa a csúcsteljesítményt. Stratégiák implementálása az adattár feldolgozási terheinek csökkentésére. Az adattárak terhelésének optimalizálásához vegye figyelembe az alábbi stratégiákat:

Gyorsítótárazás használata

A gyorsítótárazás a gyakran használt adatokat egy gyors hozzáférésű tárolóhelyen tárolja, így az adatok lekérése gyorsabb, mint a fő forrásból való lekérés. Ez a technika növeli az adatteljesítményt azáltal, hogy lerövidíti a hozzáférési időt, és elkerüli az ismétlődő adatlehívásokat. A gyorsítótárazás javítja az olvasási sebességet és a felhasználói válaszidőt, különösen a gyakran használt adatok esetében Ez a módszer a leghatékonyabb statikus adatok vagy ritkán változó adatok esetében.

Az optimális gyorsítótárazási hatékonyság érdekében vegye figyelembe az olyan tényezőket, mint a lejárati szabályzatok, a kiürítési stratégiák és a gyorsítótárméret kezelése. Az optimális teljesítmény érdekében módosítsa a beállításokat, például az élettartamot (TTL). Ha gyorsítótárat szeretne használni a tárolási terhelés optimalizálásához, vegye figyelembe a következő stratégiákat:

  • Memóriabeli gyorsítótárazás: A memóriabeli gyorsítótárazással gyorsan lekért adatokat tárolhat a memóriában. Ezt a technikát olyan alkalmazásadatokhoz használhatja, amelyek számítása vagy lekérése költséges egy adatbázisból. A memóriabeli gyorsítótárazás olyan adatok esetében hasznos, amelyeket gyakran olvas, de nem módosít gyakran.

  • Adatbázis-lekérdezések gyorsítótárazása: Ezzel a technikával gyorsítótárazhatja az adatbázis-lekérdezések eredményeit, hogy ne futtassa többször ugyanazt a lekérdezést. Az adatbázis-lekérdezések gyorsítótárazása összetett és időigényes adatbázis-lekérdezésekhez hasznos. Amikor gyorsítótárazza egy lekérdezés eredményeit, a rendszer gyorsan visszaadja ugyanahhoz a lekérdezéshez a következő kéréseket.

  • Tartalomkézbesítési hálózat gyorsítótárazása: Ezzel a technikával gyorsítótárazhatja a webes tartalmakat az elosztott hálózati kiszolgálókon a késés csökkentése és a tartalomkézbesítés javítása érdekében. A tartalomkézbesítési hálózati gyorsítótárazás statikus tartalmak, például képek, CSS-fájlok és JavaScript-fájlok esetében hatékony. A tartalomkézbesítési hálózatok világszerte több helyen tárolják a tartalom másolatát, így a felhasználók földrajzilag hozzáférhetnek a közelben lévő kiszolgálóról.

Olvasási replikák használata

Számos adatbázis több olvasási replikát is támogat. Ossza el az olvasási lekérdezéseket replikák között az írási adatbázis igényének minimalizálása érdekében. Minden olvasási replika képes a forgalom egy részhalmazát kiszolgálni, ami javíthatja a teljesítményt.

Ha több adatreplikával rendelkező számítási feladattal rendelkezik, amelyek várhatóan szinkronban maradnak, hasznos, ha ezt az elosztott rendszert a PACELC tétel használatával modellezi. A PACELC tétel segít megérteni a késést és a konstans kompromisszumokat a rendszer nem particionált állapotában. Ezen információk segítségével kiválaszthatja az adatbázismotort és az adatszinkronizálási stratégiát, amely a legjobban particionált és nem particionált állapotban kezeli a rendszert. További információ: Parancs- és lekérdezési felelősség elkülönítése (CQRS) minta.

Adatkonzisztencia optimalizálása

Az elosztott számítási feladatokban, ahol az adatok több csomóponton vagy helyen találhatók, a választott konzisztenciaszint határozza meg, hogy az egyik helyen milyen gyorsan tükröződnek a változások másokban. A szigorúbb konzisztencia használata több számítási erőforrást használ fel, és negatív hatással lehet a teljesítményhatékonyságra. Másrészt a kevésbé szigorú konzisztenciaszint, például a végleges konzisztencia ideiglenes inkonzisztenciákat vezet be a csomópontok között, de növelheti a teljesítmény hatékonyságát.

A végleges konzisztencia egyensúlyt teremt az adatok pontossága és a számítási feladatok teljesítménye között. A módosítások fokozatosan terjednek, nem pedig azonnal, ami növeli a számítási feladatok válaszképességét és az adatfeldolgozási sebességet. Bár rövid élettartamú inkonzisztenciákat vezet be, a számítási feladat végül konzisztens adatokat jelenít meg az összes csomóponton. A végleges konzisztencia kiválasztása növelheti a számítási feladatok teljesítményét, és tovább javíthatja annak rendelkezésre állását és méretezhetőségét.

Adatfrissítések optimalizálása

Optimista egyidejűséggel kezelheti ugyanazon adatok egyidejű frissítéseit. Az adatok zárolása és az egyéb frissítések megakadályozása helyett az optimista egyidejűség lehetővé teszi több felhasználó vagy folyamat egyidejű működését, és feltételezi, hogy az ütközések ritkán fordulnak elő.

Optimista egyidejűség esetén minden frissítési művelet tartalmaz egy verziót vagy időbélyeget, amely a frissítés időpontjában az adatok állapotát jelöli. Ütköző frissítés észlelésekor a rendszer a frissítés elutasításával vagy a módosítások egyesítésével oldja fel az ütközést.

Az optimista egyidejűség minimálisra csökkenti a versengést, és lehetővé teszi az egyidejű frissítések folytatását szükségtelen zárolás nélkül. Csökkenti az erőforrások várakozási idejét, és magas átviteli sebességet biztosít.

Adatáthelyezési és -feldolgozási műveletek optimalizálása

Az adatáthelyezés és -feldolgozás optimalizálása magában foglalja az adatkinyeréssel, átalakítással, betöltéssel és feldolgozással kapcsolatos műveletek hatékonyságát és teljesítményét. Vegye figyelembe az adatáthelyezés és -feldolgozás optimalizálásának alábbi főbb szempontjait:

  • Kinyerés, átalakítás és betöltés (ETL) optimalizálása: Optimalizálja az ETL-folyamatokat a feldolgozási idő minimalizálása érdekében. Egyszerűsítheti a kinyerési folyamatot, hatékony átalakítási algoritmusokat implementálhat, és optimalizálhatja a betöltési folyamatot. Ha minden lépést hatékonyabbá tesz, optimalizálhatja a teljes munkafolyamatot.

  • Párhuzamos feldolgozás: Párhuzamos feldolgozási technikák használata a teljesítmény javítása érdekében. Ha több szálon vagy csomóponton osztja el az adatfeldolgozási feladatokat, a számítási feladatokat egyszerre oszthatja el és dolgozhatja fel, ami gyors feldolgozást eredményez.

  • Kötegelt feldolgozás: Csoportosítsa a hasonló feladatokat, hogy csökkentse az ismétlődő műveletek által okozott többletterhelést. Több tevékenység feldolgozása egy kötegben a teljes feldolgozási idő csökkentése érdekében.

A tárterv optimalizálása

A tárolási tervezés optimalizálása magában foglalja a pontos adattárolási architektúra kialakítását és a megfelelő tárolási technológiák kiválasztását. Az egyszerűsített tárolási kialakítás javítja az adathozzáférést, a lekérést és a manipulációt. A stratégiai tárolási tervezés révén a számítási feladatok jobb válaszidőt és általános funkcionalitást biztosítanak.

Tervezés az adatok közelségéhez

Az adatok közelsége az adatok stratégiai elhelyezésére utal, amelyek közelebb kerülnek azokhoz a felhasználókhoz vagy szolgáltatásokhoz, amelyek a leggyakrabban férnek hozzá. Az adatok és a felhasználók közötti fizikai vagy logikai távolság csökkentésével az adatok közelsége gyorsabb adathozzáférést és jobb válaszképességet biztosít. A közelség kialakításának optimalizálásához vegye figyelembe az alábbi stratégiákat:

  • Adathozzáférési minták kiértékelése: Értékelje a számítási feladat hozzáférési mintáit és a gyakran használt adatokat. Ez az elemzés segíthet meghatározni, hogy hol helyezzen el adatokat a maximális előny érdekében.

  • Olyan megoldások kiválasztása, amelyek támogatják az adatáthelyezést: Fontolja meg azokat a megoldásokat, amelyek dinamikus adatáthelyezést kínálnak a változó hozzáférési minták alapján, biztosítva az optimális adatpozíciót.

  • Olyan megoldások kiválasztása, amelyek támogatják az adatszinkronizálást: Ha elosztott felhasználói bázishoz csatlakozik, válasszon olyan megoldásokat, amelyek megkönnyítik az adatszinkronizálást a különböző régiókban, biztosítva, hogy az adatreplikák elérhetők legyenek a felhasználók közelében.

Kompromisszum: Ha a mögöttes adatok gyakran változnak, alkalmazzon gyorsítótár-érvénytelenítési mechanizmust, hogy a gyorsítótárazott adatok naprakészek legyenek.

Többplatformos adatmegőrzés használata

A többplatformos adatmegőrzés az a gyakorlat, amikor több adattárolási technológiát használunk különböző típusú adatok tárolására és kezelésére egy alkalmazásban vagy rendszerben. A különböző típusú adatbázisok vagy tárolási megoldások különböző adatkövetelményeket szolgálnak ki.

A többplatformos adatmegőrzés az egyes adattárolási technológiák előnyeit kihasználva biztosítja az optimális teljesítményt és méretezhetőséget az egyes adattípusok esetében. Például egy relációs adatbázissal strukturált, tranzakciós adatokat tárolhat. NoSQL-adatbázist is használhat strukturálatlan vagy félig strukturált adatok tárolására.

Tervezzen sémát az egyes adattárolási technológiákhoz az adatok követelményeinek megfelelően. Relációs adatbázisok esetén létrehozhat normalizált táblákat megfelelő kapcsolatokkal. NoSQL-adatbázisok esetén dokumentumstruktúrákat vagy kulcs-érték párokat definiálhat. Az egyes adattárolási technológiák, például API-k, adatelérési rétegek vagy adatintegrációs folyamatok használatához szükséges összetevők fejlesztése. Győződjön meg arról, hogy az alkalmazás képes adatokat olvasni és írni a megfelelő adattárakba.

Kompromisszum: Az alacsony normalizálással rendelkező adatstruktúra javíthatja a teljesítményt, de összetettségeket vezethet be.

Különálló OLTP- és OLAP-rendszerek

Az OLTP- és OLAP-rendszerek elkülönítéséhez különböző rendszereket tervezzen és helyezzen üzembe a tranzakciós feldolgozási és elemzési feldolgozási feladatokhoz. Ez az elkülönítés lehetővé teszi az egyes rendszerek adott számítási feladathoz és jellemzőkhöz való optimalizálását.

Az OLTP-rendszereket valós idejű tranzakciós feldolgozásra használják. Hatékonyan és megbízhatóan kezelik az egyes tranzakciókat. Az OLTP-rendszereket jellemzően napi üzemeltetési feladatok végrehajtására használják, például az online rendelések feldolgozására, a készletkezelésre és az ügyfelek adatkezelésére. Az OLTP-rendszerek a válaszképességet, a konzisztenciát és az egyidejűséget részesítik előnyben.

Az OLAP-rendszereket összetett elemzési feldolgozáshoz és jelentéskészítéshez használják. Nagy mennyiségű adatot kezelnek, és intenzív számításokat és összesítéseket végeznek. Az OLAP-rendszereket olyan feladatokhoz használják, mint az üzleti intelligencia, az adatbányászat és a döntéstámogatás. Az OLAP-rendszerek rangsorolják a lekérdezési teljesítményt, az adatösszesítést és a többdimenziós elemzést.

Ha elkülöníti az OLTP- és OLAP-rendszereket, lefoglalhatja a megfelelő erőforrásokat, és optimalizálhatja az egyes rendszereket az adott számítási feladathoz. Az elkülönítés lehetővé teszi, hogy különböző adatmodellezési technikákat alkalmazzon az egyes rendszerekre. Az OLTP-rendszerek általában normalizált sémákat használnak a hatékony tranzakciófeldolgozáshoz. Az OLAP-rendszerek denormalizált sémákat vagy adattárház-technikákat használhatnak a lekérdezési teljesítmény optimalizálásához.

Azure-beli segítségnyújtás

Profilkészítési adatok: Az Azure olyan eszközöket és szolgáltatásokat kínál, amelyekkel profiladatok készíthetők, például az Azure Data Catalog, az Azure Purview és a Azure Synapse Analytics. Ezekkel az eszközökkel adatokat nyerhet ki, alakíthat át és tölthet be különböző forrásokból, elvégezheti az adatminőség-ellenőrzéseket, és betekintést nyerhet az adatokba.

Adatteljesítmény monitorozása: Az adatok teljesítményének monitorozásához az Azure Monitor használatával infrastruktúra-metrikákat, naplókat és alkalmazásadatokat gyűjthet és elemezhet. A Monitort integrálhatja más szolgáltatásokkal, például az Application Insightsszal. Az Application Insights alkalmazásteljesítmény-monitorozást biztosít, és számos platformot támogat.

Az Application Insights használati és teljesítményadatokat gyűjt. A Log Analytics használatával összevetheti ezeket az adatokat az Azure-erőforrások konfigurációs és teljesítményadataival.

Az adatbázis monitorozásához használhatja a Azure SQL és az Azure Cosmos DB elemzési funkcióját. Ezzel a funkcióval diagnosztizálhatja és hangolhatja az adatbázis teljesítményével kapcsolatos problémákat.

Adatok particionálása: Az Azure különböző particionálási stratégiákat kínál a különböző adattárakhoz. Az egyes adattárak különböző szempontokat és konfigurációs lehetőségeket tartalmazhatnak az adatparticionáláshoz. További információ: Adatparticionálási stratégiák.

Az adatbázis-lekérdezések és az index teljesítményének optimalizálása: A lekérdezések, táblák és adatbázisok optimalizálásához használja a Azure SQL Database lekérdezési teljesítményelemző funkcióját. Ezzel a funkcióval azonosíthatja és elháríthatja a lekérdezési teljesítménnyel kapcsolatos problémákat.

A relációs adatbázisok esetében kövesse az indextervezési irányelveket, SQL Server indexelési útmutatót és az Azure Cosmos DB indexelési útmutatóját. A SQL Database használatával automatikusan finomhangolhatja a lekérdezéseket a teljesítmény javítása érdekében.

Az SQL-adatbázisokban rendszeresen újra kell szerveznie vagy újra kell építenie az indexeket. Azonosíthatja a lassú lekérdezéseket, és finomhangolhatja őket a teljesítmény javítása érdekében. Számos adatbázismotor rendelkezik lekérdezés-finomhangolási funkciókkal. További információ: A lekérdezési teljesítmény ajánlott eljárásai.

Az Azure Cosmos DB rendelkezik egy alapértelmezett indexelési szabályzattal , amely minden elem minden tulajdonságát indexeli, és tartományindexeket kényszerít bármely sztringhez vagy számhoz. Ez a szabályzat hatékony lekérdezési teljesítményt biztosít, és nem kell előre kezelnie az indexeket.

A tárterület terhelésének optimalizálása: Számos Azure-adatbázisszolgáltatás támogatja az olvasási replikákat. Az olvasási replikák rendelkezésre állása és konfigurációja az Azure-adatbázisszolgáltatástól függően változik. A részletek és a lehetőségek megismeréséhez tekintse meg az egyes szolgáltatások hivatalos dokumentációját.

A tárolóterv optimalizálása: Az Azure számos különböző adattárat kínál a számítási feladatok igényeinek megfelelően. Ismerje meg az adattártípusokat , és válasszon ki egy Azure-adattárat az alkalmazásához.

Teljesítményhatékonysági ellenőrzőlista

Tekintse meg a javaslatok teljes készletét.