Megosztás:


Rugalmas skálázású elosztott függvények architektúrája

A következőkre vonatkozik:Azure SQL Database

A rugalmas skálázású szolgáltatási szint magas skálázható és különálló tárolási és számítási rétegekkel rendelkező architektúrát használ. Ez a cikk azokat az összetevőket ismerteti, amelyek lehetővé teszik az ügyfelek számára a rugalmas skálázású adatbázisok gyors skálázását, miközben szinte azonnali biztonsági mentéseket és nagy mértékben méretezhető tranzakciónaplózást tesznek lehetővé.

Jótanács

Az SQL Database rugalmas skálázásának egyszerűsített díjszabása 2023 decemberében érkezett meg. A részletekért tekintse át a Hyperscale árképzés blogját.

Rugalmas skálázású architektúra áttekintése

A hagyományos adatbázismotorok egyetlen folyamaton belül központosítják az adatkezelési funkciókat: még az úgynevezett elosztott adatbázisok is ma már több példányban rendelkeznek monolitikus adatmotorokkal.

A rugalmas skálázású adatbázisok más megközelítést követnek. A rugalmas skálázás elválasztja a lekérdezésfeldolgozó motort, ahol a különböző adatmotorok szemantikája eltér az adatok hosszú távú tárolását és tartósságát biztosító összetevőktől. Ily módon a tárolókapacitás igény szerint zökkenőmentesen skálázható fel, akár 128 TB-ig egyetlen rugalmas skálázású adatbázishoz.

A rugalmas skálázású adatbázisok a következő összetevőket tartalmazzák: számítási csomópontok, lapkiszolgálók, naplószolgáltatás és Azure Storage. A rugalmas skálázású összetevők közötti hálózati kommunikáció az Azure-beli hálózati infrastruktúrát használja beépített redundanciával.

A magas rendelkezésre állású másodlagos replikák és az elnevezett replikák opcionális számítási csomópontok, amelyek igény szerint hozzáadhatók. Mindkettő ugyanazokat a tárolási összetevőket használja, így nincs szükség adatmásolásra egy új replika létrehozásához. Egy geo-másodlagos replika igény szerint hozzáadható ugyanabban vagy egy másik Azure-régióban. Az adatvédelem és a redundancia érdekében a geo-másodlagos replikák olyan tárolóösszetevőkkel rendelkeznek, amelyek eltérnek az elsődleges replika által használtaktól.

Az alábbi ábra a funkcionális rugalmas skálázási architektúrát mutatja be:

A rugalmas skálázás számítási szintjét bemutató diagram.

Az ábrán a következő összetevők láthatók:
Egy. Számítás: A rugalmas skálázás elválasztja a fő adatbázismotort( más néven Computet) a tranzakciónaplózási és adattárolási összetevőktől.
B. Tárolás: Az adatok hosszú távú tárolását és tartósságát biztosító összetevők a fő adatbázismotortól vannak elválasztva. Az adatfájlok külön Azure Storage-blobokban vannak tárolva. Az Azure Storage-beli adatok redundanciát biztosítanak a lapkiszolgálók meghibásodásból való helyreállításához.
C. Lapkiszolgálók: A lapkiszolgálók adatokat kérnek le a tárolási réteg adatfájljaiból, tárolják azokat egy helyi SSD-gyorsítótárban, és adják meg az adatokat a fő motornak. A helyi SSD-gyorsítótár a számítási méret alapján van lefoglalva, hogy megőrizze az aktív/gyakori elérésű adatoldalakat. Az oldalkiszolgálók az adatbázis méretének növekedésével nőnek. Minden lapkiszolgáló legfeljebb 128 GB adatot kezel.
D. Naplószolgáltatás: A rugalmas skálázású adatbázisok naplószolgáltatással koordinálják a tranzakciónapló-propagálást replikákra és lapkiszolgálókra.
E. Elnevezett replikák: Az elnevezett replikák saját számítással rendelkeznek, de ugyanazt a naplószolgáltatást használják. Legfeljebb 30 elnevezett replika lehet. Minden elnevezett replika legfeljebb 4 magas rendelkezésre állású replikával rendelkezhet.
F. Magas rendelkezésre állású replikák: A magas rendelkezésre állású replikák egy fő, földrajzi vagy elnevezett replika választható készenléti másolatai, amelyek készen állnak a feladatátvételre, és olvasásra kész feladatokhoz érhetők el. Minden elsődleges és elnevezett replikához legfeljebb 4 magas rendelkezésre állású replika tartozhat.

Compute

A számítási csomópont az, ahol a relációs motor él. A számítási csomóponton zajlik a nyelv, a lekérdezés és a tranzakciófeldolgozás. A rugalmas skálázású adatbázisokkal folytatott összes felhasználói interakció számítási csomópontokon keresztül történik. A számítási csomópontok konfigurálhatók kiszolgáló nélküli vagy kiépített számítás használatára.

A számítási csomópontok helyi SSD-alapú gyorsítótárral rendelkeznek, amelyeket rugalmas pufferkészlet-bővítménynek (RBPEX adatgyorsítótárnak) hívunk. Az RBPEX adatgyorsítótár egy intelligens kis késésű adatgyorsítótár, amely minimálisra csökkenti az adatok távoli lapkiszolgálókról való lekérésének szükségességét.

A rugalmas skálázású adatbázisoknak egyetlen elsődleges számítási csomópontjuk van, ahol az olvasási-írási számítási feladat és a tranzakciók feldolgozásra kerülnek. Igény szerint legfeljebb négy magas rendelkezésre állású másodlagos számítási csomópont adható hozzá. Feladatátvételi célokra meleg tartalék csomópontokként működnek, és írásvédett számítási csomópontokként szolgálnak az olvasási számítási feladatok igény szerinti kiszervezéséhez. A nevesített replikák másodlagos számítási csomópontok, amelyek különböző további OLTP-olvasási felskálázási forgatókönyvek engedélyezésére és a hibrid tranzakciós és elemzési feldolgozási (HTAP) számítási feladatok jobb támogatására szolgálnak. A geo másodlagos számítási csomópont hozzáadható vészhelyreállítási célokra, és írásvédett számítási csomópontként szolgál az olvasási számítási feladatok kiszervezéséhez egy másik Azure-régióban.

Kiszolgáló nélküli környezetben az elsődleges replika és a magas rendelkezésre állású replikák vagy elnevezett replikák egymástól függetlenül automatikusan skálázhatók a használatuk alapján. Az elsődleges replika és a név szerinti replikák számítási kapacitásának automatikus méretezési tartománya egymástól függetlenül van konfigurálva. A magas rendelkezésre állású replikák automatikus skálázási tartománya a társított elsődleges replika vagy elnevezett replika által megadott automatikus skálázási konfigurációtól öröklődik.

A rugalmas skálázású számítási csomópontokon futó adatbázismotor ugyanaz, mint más Azure SQL Database-szolgáltatási szinteken. Ha a felhasználók rugalmas skálázású számítási csomópontokon használják az adatbázismotort, a támogatott felület és a motor viselkedése megegyezik a többi szolgáltatási szinttel, kivéve az ismert korlátozásokat.

Lapkiszolgáló

A lapkiszolgálók egy kibővített tárolómotort képviselő rendszerek. Minden lapkiszolgáló felelős az adatbázis lapjainak egy részhalmazáért. Minden lapkiszolgáló rendelkezik egy replikával is, amely a redundancia és a rendelkezésre állás érdekében van tárolva.

A lapkiszolgáló feladata, hogy igény szerint kiszolgálja az adatbázis-lapokat a számítási csomópontok számára, és hogy a lapokat a tranzakciók frissítési adataiként frissítse. A lapkiszolgálók naprakészen tartják magukat a tranzakciónapló bejegyzéseit a naplószolgáltatásból való újrajátszásával.

A lapkiszolgálók emellett az SSD-alapú gyorsítótárakat is lefedik a teljesítmény növelése érdekében. Az adatoldalak hosszú távú tárolása az Azure Storage-ban marad a tartósság érdekében.

Naplózás szolgáltatás

A naplószolgáltatás olyan tranzakciónapló-rekordokat fogad el, amelyek megfelelnek az elsődleges számítási replika adatváltozásainak. A lapkiszolgálók ezután megkapják a naplórekordokat a naplószolgáltatástól, és alkalmazzák a módosításokat a megfelelő adatszeleteikre. Emellett a másodlagos számítási replikák naplórekordokat kapnak a naplószolgáltatástól, és csak a pufferkészletben vagy a helyi RBPEX-gyorsítótárban lévő lapok módosításait játsszák vissza. Az elsődleges számítási replika összes adatváltozása a naplószolgáltatás révén jut el az összes másodlagos számítási replikára és lapkiszolgálóra.

Végül a tranzakciónapló-rekordok ki lesznek küldve az Azure Storage hosszú távú tárolójába, amely gyakorlatilag végtelen tárház. Ez a mechanizmus megszünteti a naplók gyakori csonkításának szükségességét. A naplók növekedésének gyakori okai, mint például az elmaradt naplómentések vagy a másodlagos replikák lassú adatreplikálása, nem érvényesek a Hyperscale esetében. A naplószolgáltatás helyi memóriával és SSD-gyorsítótárral rendelkezik a naplórekordokhoz való hozzáférés felgyorsításához.

Azure-tárhely

Az Azure Storage az adatbázisban lévő összes adatfájlt tartalmazza. A lapkiszolgálók naprakészen tartják az adatfájlokat az Azure Storage-ban. Ez a tároló biztonsági mentési célokra is használható, és a tárterület-redundancia választásától függően replikálható régiók között.

A biztonsági mentések az adatfájlok tárolási pillanatképeinek használatával implementálódnak. A pillanatképekkel végzett visszaállítási műveletek az adatmérettől függetlenül gyorsak. Az adatbázisok a biztonsági másolat megőrzési időszakán belül bármelyik időpontra visszaállíthatók.

A rugalmas skálázás támogatja a konfigurálható tárolóredundanciát. Rugalmas skálázású adatbázisok létrehozásakor a következő azure-beli standard tárolótípusok közül választhat:

  • Helyileg redundáns tárolás (LRS)
  • Zónaredundáns tárolás (ZRS)
  • Írásvédett georedundáns tárolás (RA-GRS)
  • Írásvédett geo-zónaredundáns tárolás (RA-GZRS)

A zónaredundáns tárolási lehetőségek elérhetők elérhetőségi zónákkal rendelkező Azure-régiókban.

A kiválasztott tárolóredundancia-beállítás az adatbázis teljes élettartama alatt használható mind az adattárolási redundancia, mind a biztonsági mentési tár redundanciára.