Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Az Azure Well-Architected-keretrendszer teljesítmény-hatékonyság 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áról szól, 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 dominóeffektust hoz létre a gyenge teljesítményhatékonyság miatt. Az adatteljesítmény optimalizálásának elmulasztása válaszkéséseket, megnövelt 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.
Meghatározások
| Időszak | Definition |
|---|---|
| CAP-tétel | A konzisztencia, a rendelkezésre állás és a partíciótűrés figyelembe vételére szolgáló keretrendszer, amely segít elmagyarázni az adatkonzisztenciával kapcsolatos kompromisszumokat. |
| Adatbázisindex újraépítése | Egy olyan karbantartási tevékenység, amely egy indexet elvet és újra létrehoz. |
| Adatbázisindex átrendezése | Egy 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árat vagy fájlmegosztást tárol. |
| Végleges konzisztencia | Adatszinkronizálási modell, amely lehetővé teszi az adatreplikák átmeneti inkonzisztenciaét, mielőtt végül szinkronizálnának. |
| Index | Egy adatbázis-struktúra, amely gyors hozzáférést biztosít az elemekhez. |
| Online elemzési feldolgozás (OLAP) | Olyan technológia, amely nagy üzleti adatbázisokat rendszerez, támogatja az összetett elemzést, és összetett elemzési lekérdezéseket hajt végre anélkül, hogy negatívan befolyásolná a tranzakciós rendszereket. |
| Online tranzakciófeldolgozás (OLTP) | Olyan technológia, amely rögzíti az üzleti interakciókat a szervezet napi műveleteiben. |
| Optimista konkurenciakezelés | 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 figyelembe vételére szolgáló keretrendszer, amely segít elmagyarázni az adatkonzisztenciával kapcsolatos kompromisszumokat. |
| Partitioning | Az adatok külön adattárakba való fizikai felosztásának folyamata. |
| Lekérdezés finomhangolása | Egy adatbázis-lekérdezés sebességét optimalizáló folyamat. |
| 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. |
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. Fontolja meg 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 kiválasztja a megfelelő adattípusokat, meghatározza az entitások közötti kapcsolatokat, é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.
Optimalizálja a lekérdezési teljesítményt. 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ési terveket és a teljesítményfigyelő 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álja az adattárolási konfigurációt és a lekérdezésoptimalizálást. 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égének, szerkezetének é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 szerkezeté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ének és más adatelemekhez való viszonyának módját.
Elemezze az adatkötetet. Az adatok mennyiségének felmérése az általános méret és a növekedési minták megérté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. Ez az információ segít 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 adatok minőségének 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 adatrendellenességeket, hiányzó értékeket vagy ismétlődő 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.
Adateloszlás rögzítése. Elemezze az egyes oszlopokban lévő értékek eloszlását 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 az eloszlá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 enyhíté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 a következő stratégiákat:
Adatspecifikus metrikák gyűjtése. 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 adatteljesítmény, az adathozzáféréshez kapcsolódó lemez I/O-jának é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ékek vagy anomáliák használatával aktiválhat riasztásokat. 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 adatok átviteli sebessége 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íthassa 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, szűk keresztmetszetek és kiugró értékek az adatteljesítményben. Miután azonosította, ássa be ezeknek a problémáknak a kiváltó okait, és végezze el a megfelelő szervizelési lépéseket.
Partíció adatok
A particionálás magában foglalja a nagy adatkészletek vagy 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 biztosít adott igények és lekérdezési minták alapján. Az adatokat függőlegesen vagy vízszintesen (más néven horizontális horizontális felosztással) is particionálhatja.
| Stratégia | Definition | Example | Használati esetek |
|---|---|---|---|
| Függőleges particionálás | A táblákat kisebb táblákra oszthatja az egyes partíciók adott oszlopainak vagy mezőinek kiválasztásával. Minden partíció a teljes adatok egy részhalmazát jelöli. | Ha A, B, C és D oszlopokat tartalmazó táblázattal rendelkezik, 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 az elkülönítésük növelheti az I/O teljesítményét. - 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 skálázás). Minden partíció hasonló jellemzőkkel rendelkező sorok egy részét tartalmazza. | Ha egy táblázat 1–1000 sorból áll, létrehozhat egy partíciót az 1–500. sorokkal, a másikat pedig az 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 kövesse 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. Ismerje meg az adatok természetét, a hozzáférési mintákat és a terjesztési követelményeket.
Kulcs meghatározása. Válassza ki a 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. Particionálási vagy horizontális skálázási logika meghatározása a választott kulcs alapján. 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 definiálását, valamint 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 zökkenőmentesebb interakciókat élveznek. Az adatbázis-lekérdezések optimalizálásához vegye figyelembe az alábbi stratégiákat:
Írja át a lekérdezéseket. Összetett lekérdezések áttekintése és elemzése 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és szintaxisának egyszerűsítését.
Kerülje az N+1 lekérdezési problémát. Az adatbázisra irányuló kerekítések számának minimalizálása illesztések és köteglekérések használatával a kapcsolódó adatok hatékony lekéréséhez.
Illesztések átrendezésében. Értékelje ki a lekérdezéstervet, és fontolja meg az illesztési sorrend átrendezését az egyes illesztési műveletek sorainak számának minimalizálása érdekében. A táblák illesztési sorrendje befolyásolhatja a lekérdezés teljesítményét.
Indexmutatók használata. Indexmutatók használata, hogy az adatbázismotorok meg tudják adni az indexek használatát egy 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 ugyanazon lekérdezés ismételt futtatását, és csökkenti a lekérdezésfeldolgozási többletterhelést.
Optimalizálja a zárolást. 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 növelhetik 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. Elemezheti és módosíthatja 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 mérőszámait, például a futtatókörnyezetet, az erőforrás-kihasználtságot és a lekérdezés átviteli sebességét. A rosszul teljesítő lekérdezések azonosításához használjon adatbázis-profilkészítési eszközöket és monitorozási funkciókat. A lekérdezéstervek 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ához használható.
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ékonyabbak lesznek, ami gyorsabb lekérdezésekhez vezet. A megfelelően optimalizált indexek le lesznek vágva a lekérdezésekhez szükséges lemez I/O-műveleteken. A szükségtelen 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. Ismerje meg az adatbázison futó lekérdezési mintákat. Azonosítsa a gyakran futó lekérdezéseket, és ronthatja a teljesítményt. A lekérdezési minták elemzésével megállapíthatja, 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 használatukat, a teljesítményhatásaikat és a lekérdezési minták relevanciáját. Azonosíthatja 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 terhelésének csökkentése érdekében.
Az indexelés oszlopainak azonosítása. Azonosítsa a lekérdezések záradékai alapján gyakran használt oszlopokat. 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 egy megfelelő indextípust az adatbázisrendszer alapján. A gyakori lehetőségek közé tartoznak az egyenlőségi és tartomány-lekérdezések bfa indexei, a pontos egyezéses lekérdezések kivonatindexei, valamint a szöveges keresési műveletek teljes szöveges indexei. Válasszon egy olyan indextípust, amely megfelel a lekérdezési követelményeknek.
Fontolja meg az indexoszlopok sorrendjét. Összetett indexek vagy több oszlopból álló indexek létrehozásakor 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.
Az index méretének 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 felülvizsgálja az indexeket, végezzen alapos tesztelést és ellenőrzést. Az indexváltozatok teljesítményhatásának mérése reprezentatív számítási feladatok használatával. Ellenőrizze az előre definiált teljesítménytesztekkel kapcsolatos fejlesztéseket.
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. A teljes szöveges indexek tárolási követelményei magasak lehetnek, a nem szöveges adatlekérdezések pedig lassúak lehetnek.
Fontolja meg az adattömörítést
Az adattömörítés az adatok méretének csökkentése a tárhely optimalizálása és a számítási feladatok hatékonyságának javítása érdekében. A tömörített adatok kevesebb tárhelyet és kevesebb sávszélességet igényelnek az átvitelhez, ami gyors adatátvitelt eredményez. Az adatokat tömörítené a tárolási lábnyom 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 a kevésbé fontos vagy redundáns információk eltávolításával magas tömörítési arányokat érnek el.
Kompromisszum: Az adatok tömörítéséhez és felbontásához számítási erőforrásokra, például processzorra és memóriára van szükség. 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 törlése
Az archiválás és a törlés olyan stratégiák, amelyek egyszerű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 törlése véglegesen 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 ad a felhasználói kérésekre.
Adathozzáférési sebesség növelése: A levágott adatkészlet gyorsabb lekérdezéseket és adatlekérést tesz lehetővé, így 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 biztosítják a konzisztens teljesítményt.
Az archiválás és a törlés az adatvezérelt rendszerek csúcsteljesítmény-hatékonyságának fenntartásában hatékonyan működik.
A tárterület terhelésének optimalizálása
A tárolási terhelés optimalizálása a kérések rakodását jelenti 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árhely túlterhelését. A tárolási terhelés optimalizálása biztosítja, hogy a tárolási rendszer továbbra is reagáljon a jogos kérelmekre, é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 a következő 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 csökkenti a hozzáférési időket, és elkerüli az ismétlődő adatbeolvasásokat. A gyorsítótárazás javítja az olvasási sebességet és a felhasználói válaszidőket, különösen a gyakran használt adatok esetében ez a módszer a leghatékonyabb statikus adatokon vagy ritkán változó adatokon.
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. Állítsa be a beállításokat, például az élettartamot (TTL) az optimális teljesítmény érdekében. Ha gyorsítótárat szeretne használni a tárolóterhelés optimalizálásához, vegye figyelembe a következő stratégiákat:
Memóriabeli gyorsítótárazás: Memóriabeli gyorsítótárazással tárolja a gyakran használt adatokat a memóriában a gyors lekérés érdekében. Ezt a technikát olyan alkalmazásadatokhoz használhatja, amelyek költségesek az adatbázisok kiszámításához vagy lekéréséhez. A memóriabeli gyorsítótárazás olyan adatok esetében hasznos, amelyeket gyakran olvas, de nem változnak gyakran.
Adatbázis-lekérdezések gyorsítótárazása: Ezzel a módszerrel 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 az ugyanazon lekérdezésre vonatkozó későbbi kéréseket.
Tartalomkézbesítési hálózat gyorsítótárazása: Ezzel a módszerrel 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 elérhetik a tartalmat 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 iránti igény 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 olyan adatreplikát tartalmazó számítási feladattal rendelkezik, amely várhatóan szinkronban marad, 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 kompromisszumlehetőségeket 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ó: Command and Query Responsibility Szegregion (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 kiválasztott konzisztenciaszint határozza meg, hogy az egyes helyek változásai milyen gyorsan tükröződnek 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ény hatékonyságára. 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 el, nem pedig azonnal, ami növeli a számítási feladatok válaszkészségét és az adatfeldolgozási sebességet. Bár rövid élettartamú ellentmondásokat 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 más 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 szükségtelen zárolás nélküli folytatását. Csökkenti az erőforrások várakozási idejét, és magas átviteli sebességet biztosít.
Adatáthelyezés és -feldolgozás 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:
ETL-optimalizálás kinyerése, átalakítása és betöltése: 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 feladatot egyszerre oszthatja é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 kötegben a teljes feldolgozási idő csökkentése érdekében.
A tárterület tervezésének optimalizálása
A tárolási kialakítá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 adatközelséghez
Az adatközeliség az adatok stratégiai elhelyezését jelenti a leggyakrabban hozzáférő felhasználókhoz vagy szolgáltatásokhoz közelebb. 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: A számítási feladat hozzáférési mintáinak és a gyakran használt adatoknak a felmérése. Ez az elemzés segíthet meghatározni, hogy hol helyezzen el adatokat a maximális előnyök érdekében.
Válassza ki az adatáthelyezést támogató megoldásokat: 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 adathelyezést.
Válasszon olyan megoldásokat, amelyek támogatják az adatszinkronizálást: Ha elosztott felhasználói bázisra van osztva, 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 a felhasználók közelében legyenek elérhetők.
Kompromisszum: Ha a mögöttes adatok gyakran változnak, alkalmazzon gyorsítótár-érvénytelenítési mechanizmust, amely biztosítja, hogy a gyorsítótárazott adatok naprakészek maradnak.
Többplatformos adatmegőrzés használata
A többplatformos adatmegőrzés az a gyakorlat, hogy több adattárolási technológiát használnak különböző típusú adatok tárolására és kezelésére egy alkalmazáson vagy rendszeren belül. 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 kihasználja az egyes adattárolási technológiák előnyeit, hogy optimális teljesítményt és méretezhetőséget biztosítson az egyes adattípusok számára. Például egy relációs adatbázis használatával 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 minden adattárolási technológia számára az adatok követelményeinek megfelelően. Relációs adatbázisok esetén létrehozhat normalizált táblákat megfelelő kapcsolatokkal. A NoSQL-adatbázisokhoz dokumentumstruktúrákat vagy kulcs-érték párokat határozhat meg. Az egyes adattárolási technológiák, például API-k, adatelérési rétegek vagy adatintegrációs folyamatok kezeléséhez 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ációval rendelkező adatstruktúra javíthatja a teljesítményt, de összetettségeket vezethet be.
OLTP- és OLAP-rendszerek elkülönítése
Az OLTP- és OLAP-rendszerek elkülönítéséhez különböző rendszereket tervezzen és telepítsen tranzakciófeldolgozási és elemzési feldolgozási feladatokhoz. Ez az elkülönítés lehetővé teszi az egyes rendszerek optimalizálását az egyes számítási feladatokhoz és jellemzőkhöz.
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 általában napi üzemeltetési feladatok végrehajtására használják, például online megrendelések feldolgozására, készletkezelésre és ügyféladatok kezelésére. Az OLTP-rendszerek előnyben részesítik a válaszképességet, a konzisztenciát és az egyidejűséget.
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ázi technikákat használhatnak a lekérdezési teljesítmény optimalizálásához.
Az Azure megkönnyítése
Profilkészítési adatok: Az Azure olyan eszközöket és szolgáltatásokat kínál, amelyeket az adatok profilozásához használhat, például az Azure Data Catalogot, az Azure Purview-t és az Azure Synapse Analyticset. Ezekkel az eszközökkel adatokat nyerhet ki, alakíthat át és tölthet be különböző forrásokból, adatminőség-ellenőrzéseket végezhet, és betekintést nyerhet az adatokba.
Adatteljesítmény monitorozása: Az adatteljesítmény monitorozásához az Azure Monitor használatával infrastruktúra-metrikákat, naplókat és alkalmazásadatokat gyűjthet és elemezhet. A Monitort más szolgáltatásokkal, például az Application Insightsszal is integrálhatja. 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 korrelálhatja ezeket az adatokat az Azure-erőforrások konfigurációs és teljesítményadataival.
Az Adatbázis monitorozásához használhatja az Azure SQL és az Azure Cosmos DB elemzési funkcióját. Ez a funkció lehetővé teszi az adatbázisok teljesítményproblémáinak diagnosztizálására és finomhangolására.
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. Minden adattár különböző szempontokat és konfigurációs lehetőségeket kínálhat 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: Az Azure SQL Database lekérdezési teljesítményelemzési funkciójával optimalizálhatja a lekérdezéseket, táblákat és adatbázisokat. 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, az SQL Server indexelési útmutatóját és az Azure Cosmos DB indexelési útmutatóját. Az 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. A lassú lekérdezések azonosítása és finomhangolása a teljesítmény javítása érdekében. Számos adatbázismotor lekérdezés-finomhangolási funkciókkal rendelkezik. További információkért tekintse meg a lekérdezési teljesítmény ajánlott eljárásait.
Az Azure Cosmos DB alapértelmezett indexelési szabályzattal rendelkezik, amely minden elem minden tulajdonságát indexeli, és tartományindexeket kényszerít ki bármilyen 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ázis-szolgá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áltozhat. 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árterület kialakításának 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áshoz.
Kapcsolódó hivatkozások
- Automatikus hangolás az SQL Database-ben
- Azure Cosmos DB
- Az Azure Cosmos DB indexelési útmutatója
- Azure SQL
- Ajánlott eljárások a lekérdezési teljesítményhez
- CQRS-minta
- Adatparticionálási útmutató
- Adatparticionálási stratégiák
- Alapértelmezett indexelési szabályzat
- Indextervezési útmutató
- OLAP áttekintése
- Az OLTP áttekintése
- Ajánlott particionálási eljárások
- Indexek átrendezése vagy újraépítése
- Azure-adattár kiválasztása az alkalmazáshoz
- AZ SQL Server indexelési útmutatója
- Az adattártípusok ismertetése
Teljesítményhatékonyság ellenőrzőlista
Tekintse meg a javaslatok teljes készletét.