Olvasási replikák az Azure Database for MariaDB-ben

Fontos

Az Azure Database for MariaDB a nyugdíjazási útvonalon van. Határozottan javasoljuk, hogy migráljon az Azure Database for MySQL-be. További információ az Azure Database for MySQL-be való migrálásról: Mi történik az Azure Database for MariaDB-vel?

Az olvasási replikával adatokat replikálhat egy Azure Database for MariaDB-kiszolgálóról egy csak olvasható kiszolgálóra. You can replicate from the source server to up to five replicas. A replikák aszinkron módon frissülnek a MariaDB-motor bináris naplójának (binlog) fájlhelyalapú replikációs technológiájával globális tranzakcióazonosítóval (GTID). A binlog replikációval kapcsolatos további információkért tekintse meg a binlog replikációjának áttekintését.

A replikák olyan új kiszolgálók, amelyeket a normál Azure Database for MariaDB-kiszolgálókhoz hasonlóan kezel. Minden olvasási replika esetében a kiosztott számításért a virtuális magokért és a tárterületért kell fizetnie GB/hóban.

A GTID-replikációval kapcsolatos további információkért tekintse meg a MariaDB replikációs dokumentációját.

Megjegyzés:

This article contains references to the term slave, a term that Microsoft no longer uses. Ha a kifejezés el lesz távolítva a szoftverből, eltávolítjuk ebből a cikkből.

Mikor érdemes olvasási replikát használni?

Az olvasási replika funkció javítja az olvasásigényes számítási feladatok teljesítményét és skálázását. Az olvasási számítási feladatok a replikákba izolálhatók, míg az írási feladatok az elsődleges kiszolgálóra irányíthatók.

Gyakori forgatókönyv, hogy a BI- és elemzési számítási feladatok az olvasási replikát használják adatforrásként a jelentéskészítéshez.

Mivel a replikák írásvédettek, nem csökkentik közvetlenül az elsődleges írási kapacitás terheit az elsődleges kiszolgálón. Ez a funkció nem a nagy írási igényű számítási feladatokhoz ideális.

Az olvasási replika funkció aszinkron replikációt használ. A funkció nem szinkron replikációs forgatókönyvekhez készült. Mérhető késés lesz a forrás és a replika között. A replikán lévő adatok idővel konzisztenssé válnak az elsődleges helyen lévő adatokkal. Ezt a funkciót olyan számítási feladatok esetében érdemes használni, amelyeknél nem jelent problémát a késés.

Régiók közötti replikáció

A forráskiszolgálótól eltérő régióban is létrehozhat olvasási replikát. A régiók közötti replikáció olyan forgatókönyvek esetén lehet hasznos, mint a vészhelyreállítás megtervezése vagy az adatok közelebb hozása a felhasználókhoz.

Bármely Azure Database for MariaDB-régióban rendelkezhet forráskiszolgálóval. A forráskiszolgálók rendelkezhetnek replikával a párosított régióban vagy az univerzális replikarégiókban. Az alábbi képen látható, hogy a forrásrégiótól függően mely replikarégiók érhetők el.

Read replica regions

Univerzális replikarégiók

Az olvasási replikát a következő régiók bármelyikében létrehozhatja, függetlenül attól, hogy hol található a forráskiszolgáló. A támogatott univerzális replikarégiók a következők:

Kelet-Ausztrália, Délkelet-Ausztrália, Dél-Brazília, Kanada középső régiója, Kelet-Kanada, USA középső régiója, USA keleti régiója, USA 2. keleti régiója, Kelet-Japán, Nyugat-Japán, Közép-Korea, Dél-Korea, USA északi középső régiója, Észak-Európa, USA déli középső régiója, Délkelet-Ázsia, Egyesült Királyság déli régiója, Egyesült Királyság nyugati régiója, Nyugat-Európa, USA nyugati régiója, USA 2. nyugati régiója, USA nyugati középső régiója.

Párosított régiók

Az univerzális replikarégiók mellett olvasási replikát is létrehozhat a forráskiszolgáló Azure-párosított régiójában. Ha nem ismeri a régió párját, az Azure Párosított régiók című cikkből tudhat meg többet.

Ha régiók közötti replikákat használ vészhelyreállítás tervezéséhez, javasoljuk, hogy a replikát a párosított régióban hozza létre a többi régió helyett. A párosított régiók elkerülik az egyidejű frissítéseket, és rangsorolják a fizikai elkülönítést és az adattárolást.

Vannak azonban korlátozások, amelyeket figyelembe kell venni:

  • Regionális rendelkezésre állás: Az Azure Database for MariaDB a közép-franciaországi, az egyesült arab emírségekbeli északi és a közép-németországi régióban érhető el. A párosított régiók azonban nem érhetők el.

  • Egyirányú párok: Egyes Azure-régiók csak egy irányban vannak párosítva. Ezek közé a régiók közé tartozik Nyugat-India, Dél-Brazília és az USA Gov Virginia. Ez azt jelenti, hogy egy nyugat-indiai forráskiszolgáló létrehozhat egy replikát Dél-Indiában. A dél-indiai forráskiszolgálók azonban nem hozhatnak létre replikát Nyugat-Indiában. Ennek az az oka, hogy Nyugat-India másodlagos régiója Dél-India, de Dél-India másodlagos régiója nem Nyugat-India.

Replika létrehozása

Fontos

Az olvasási replika funkció csak az Azure Database for MariaDB-kiszolgálókhoz érhető el az általános célú vagy memóriaoptimalizált tarifacsomagokban. Győződjön meg arról, hogy a forráskiszolgáló ezen tarifacsomagok egyikében található.

Ha egy forráskiszolgáló nem rendelkezik meglévő replikakiszolgálókkal, a forrás először újraindul, hogy előkészítse magát a replikációra.

A replika létrehozásakor létrejön egy üres Azure Database for MariaDB-kiszolgáló. Az új kiszolgáló tele van a forráskiszolgálón található adatokkal. A létrehozás időpontja a forrás adatainak mennyiségétől és az utolsó heti teljes biztonsági mentés óta eltelt időtől függ. Ez néhány percet vagy akár több órát is jelenthet.

Megjegyzés:

Ha nincs beállítva tárolási riasztás a kiszolgálókon, javasoljuk, hogy tegye meg. A riasztás értesíti, ha egy kiszolgáló megközelíti a tárterületkorlátot, ami hatással lesz a replikációra.

További információ az olvasási replikák Azure Portalon történő létrehozásáról.

Csatlakozás a replikához

A létrehozáskor a replika örökli a forráskiszolgáló tűzfalszabályait. Ezután ezek a szabályok függetlenek a forráskiszolgálótól.

A replika örökli a rendszergazdai fiókot a forráskiszolgálótól. A forráskiszolgálón lévő összes felhasználói fiók replikálva lesz az olvasási replikákra. Csak a forráskiszolgálón elérhető felhasználói fiókok használatával csatlakozhat olvasási replikához.

A replikához a gazdagépnév és egy érvényes felhasználói fiók használatával csatlakozhat, ahogyan egy normál Azure Database for MariaDB-kiszolgálón tenné. A myreplica nevű kiszolgálóhoz a myadmin rendszergazdai felhasználónévvel csatlakozhat a replikához a mysql parancssori felületével:

mysql -h myreplica.mariadb.database.azure.com -u myadmin@myreplica -p

Amikor a rendszer kéri, adja meg a felhasználói fiók jelszavát.

Replikálás figyelése

Az Azure Database for MariaDB másodpercek alatt biztosítja a replikáció késését az Azure Monitorban. Ez a metrika csak replikákhoz érhető el.

Ezt a metrikát a seconds_behind_master MariaDB parancsában elérhető metrika alapján számítjuk SHOW SLAVE STATUS ki.

Állítson be egy riasztást, amely tájékoztatja, ha a replikáció késése elér egy olyan értéket, amely nem elfogadható a számítási feladat számára.

Replikáció leállítása

Leállíthatja a replikációt egy forrás és egy replika között. Miután a replikáció leállt egy forráskiszolgáló és egy olvasási replika között, a replika önálló kiszolgálóvá válik. Az önálló kiszolgálón lévő adatok azok az adatok, amelyek a replikáció leállítása parancs elindításakor voltak elérhetők a replikán. Az önálló kiszolgáló nem tud felzárkózni a forráskiszolgálóhoz.

Ha úgy dönt, hogy leállítja a replikára történő replikációt, az elveszíti a korábbi forrásra és más replikákra mutató összes hivatkozást. A forrás és a replika között nincs automatikus feladatátvétel.

Fontos

Az önálló kiszolgáló nem készíthető újra replikává. Mielőtt leállítja a replikációt egy olvasási replikán, győződjön meg arról, hogy a replika rendelkezik a szükséges adatokkal.

Megtudhatja, hogyan állíthatja le a replikára történő replikációt.

Feladatátvétel

A forrás- és replikakiszolgálók között nincs automatikus feladatátvétel.

Mivel a replikáció aszinkron, késés van a forrás és a replika között. A késés mértékét számos tényező befolyásolhatja, például a forráskiszolgálón futó számítási feladatok nagysága és az adatközpontok közötti késés. A legtöbb esetben a replika késése pár másodperc vagy pár perc. A tényleges replikációs késést az egyes replikákhoz elérhető metrika késésével követheti nyomon. Ez a metrika az utolsó újrajátszott tranzakció óta eltelt időt mutatja. Javasoljuk, hogy a replika késésének megfigyelésével azonosítsa az átlagos késést. Beállíthat egy riasztást a replika késése esetén, így ha az túllépi a várt tartományt, műveletet végezhet.

Tipp.

Ha feladatátvételt tesz a replikára, a replika forrásból való leválasztásának késleltetése jelzi, hogy mennyi adat veszett el.

Miután eldöntötte, hogy feladatátvételt szeretne végrehajtani egy replikára,

  1. Állítsa le a replikára való replikációt.

    Ez a lépés szükséges ahhoz, hogy a replikakiszolgáló képes legyen írásokat fogadni. Ennek a folyamatnak a részeként a replikakiszolgáló leválasztva lesz az elsődlegesről. A replikáció leállítása után a háttérfolyamat általában körülbelül 2 percet vesz igénybe. A művelet következményeinek megismeréséhez tekintse meg a cikk replikációs leállítása című szakaszát.

  2. Mutasson az alkalmazásra a (korábbi) replikára.

    Minden kiszolgáló egyedi kapcsolati sztring rendelkezik. Frissítse az alkalmazást úgy, hogy az elsődleges helyett a (korábbi) replikára mutasson.

Miután az alkalmazás sikeresen feldolgozta az olvasásokat és írásokat, elvégezte a feladatátvételt. Az alkalmazás által tapasztalt állásidő mértéke attól függ, hogy mikor észleli a problémát, és végrehajtja a fenti 1. és 2. lépést.

Szempontok és korlátozások

Tarifacsomagok

Az olvasási replikák jelenleg csak az Általános célú és memóriaoptimalizált tarifacsomagokban érhetők el.

Megjegyzés:

A replikakiszolgáló futtatásának költsége azon a régión alapul, ahol a replikakiszolgáló fut.

Forráskiszolgáló újraindítása

Ha olyan forráshoz hoz létre replikát, amely nem rendelkezik meglévő replikákkal, a forrás először újraindul, hogy felkészüljön a replikációra. Vegye figyelembe ezt, és hajtsa végre ezeket a műveleteket csúcsidőszakon kívül.

Új replikák

Az olvasási replika új Azure Database for MariaDB-kiszolgálóként jön létre. Egy meglévő kiszolgáló nem készíthető replikává. Egy másik olvasási replika replikája nem hozható létre.

Replika konfigurálása

A replika ugyanazzal a kiszolgálókonfigurációval jön létre, mint az elsődleges. A replika létrehozása után a forráskiszolgálótól függetlenül több beállítás is módosítható: számítási generálás, virtuális magok, tárterület, biztonsági mentési megőrzési időszak és MariaDB-motorverzió. A tarifacsomag az Alapszintű szint kivételével függetlenül is módosítható.

Fontos

Mielőtt a forráskiszolgálói konfigurációt új értékekre frissítené, frissítse a replika konfigurációját az értékekkel egyenlő vagy nagyobb értékekre. Ez a művelet biztosítja, hogy a replika lépést tartson az elsődlegesen végrehajtott módosításokkal.

A tűzfalszabályok és a paraméterbeállítások a forráskiszolgálótól a replikaig öröklődnek a replika létrehozásakor. Ezt követően a replika szabályai függetlenek.

Leállított replikák

Ha leállítja a replikációt egy forráskiszolgáló és egy olvasási replika között, a leállított replika önálló kiszolgálóvá válik, amely olvasást és írást egyaránt elfogad. Az önálló kiszolgáló nem készíthető újra replikává.

Törölt forrás- és önálló kiszolgálók

A forráskiszolgáló törlésekor a replikáció le lesz állítva az összes olvasási replikára. Ezek a replikák automatikusan önálló kiszolgálókká válnak, és olvasási és írási műveleteket is elfogadnak. Maga a forráskiszolgáló törlődik.

Felhasználói fiókok

A forráskiszolgáló felhasználóit a rendszer az olvasási replikákra replikálja. Csak a forráskiszolgálón elérhető felhasználói fiókok használatával csatlakozhat olvasási replikához.

Kiszolgálóparaméterek

Az adatszinkronizálás biztosítása és az esetleges adatvesztés vagy -sérülés elkerülése érdekében bizonyos kiszolgálóparaméterek zárolva vannak, hogy ne lehessen őket módosítani olvasási replikák használata során.

A forrás- és replikakiszolgálókon a következő kiszolgálóparaméterek vannak zárolva:

A event_scheduler paraméter zárolva van a replikakiszolgálókon.

A forráskiszolgáló fenti paramétereinek frissítéséhez törölje a replikakiszolgálókat, frissítse a paraméter értékét az elsődleges kiszolgálón, és hozza létre újra a replikákat.

Egyéb

  • Replika replika létrehozása nem támogatott.
  • A memóriában lévő táblák miatt a replikák nem lesznek szinkronizálva. Ez a MariaDB replikációs technológia korlátozása.
  • Győződjön meg arról, hogy a forráskiszolgáló táblái rendelkeznek elsődleges kulcsokkal. Az elsődleges kulcsok hiánya replikációs késést okozhat a forrás és a replikák között.

További lépések