Kuvaile replikointia ja loogista koodausta
Parametrin wal_level avulla voit määrittää, kuinka paljon tietoja lokiin kirjoitetaan. Vaihtoehtoja on kaksi: LOOGINEN tai REPLIKA. REPLIKA on oletusarvo. Tämä parametri määritetään, kun palvelin käynnistetään.
Korkea käytettävyys
Korkea käytettävyys on Azure-tietokanta PostgreSQL-palvelulle, joka tarjoaa valmiuspalvelimen, joka on valmis ottamaan haltuun, jos reaaliaikaisessa palvelimessa ilmenee virhe. Joustavan PostgreSQL-palvelimen Azure-tietokannan korkea käytettävyys käyttää replikointia, joka päivittää valmiuspalvelimen automaattisesti tietojen muutoksilla.
Kun määrität suuren käytettävyyden Azure-tietokannalle PostgreSQL-joustavalle palvelimelle, ensisijainen palvelin sijoitetaan yhteen käytettävyysvyöhykkeeseen ja valmiustila palvelin luodaan eri käytettävyysalueelle. Tiedot replikoidaan ensisijaiselta palvelimelta valmiuspalvelimelle käyttämällä suoratoistettavaa PostgreSQL-replikointia synkronisessa tilassa.
Jokainen käytettävyysvyöhyke koostuu yhdestä tai useammasta palvelinkeskuksesta. Käytettävyysvyöhykkeillä on omat virtalähteensä, jäähdytysjärjestelmänsä, verkkoinfrastruktuurinsa jne., mikä tekee niistä toisistaan riippumattomia. Datatiedostojen ja write-ahead log (WAL) -tiedostojen kolme kopiota tallennetaan paikallisesti vikasietoiseen tallennustilaan kunkin käytettävyysvyöhykkeen sisällä, mikä eristää ensisijaiset ja erilliset palvelimet fyysisesti. Jos yksi käytettävyysvyöhyke epäonnistuu, muut kaksi todennäköisesti jatkavat työskentelyä. Alueen käytettävyysalueet on yhdistetty nopeilla kuituverkoilla, joiden kiertoviive on alle 2 millisekuntia.
Muistiinpano
Kaikilla alueilla ei ole käytettävyysvyöhykkeitä.
Suuren käytettävyyden myötä tiedot kopioidaan koko tietokannan käytössä olevan ajan, jolloin annetaan up-to-date-kopio alkuperäisestä. Jos tapahtuu kaatuminen, kopiota voidaan käyttää alkuperäisen sijaan. Replikointi sisältää ensisijaisen -palvelimen ja valmiuden palvelimen. ensisijainen -palvelin lähettää WAL-lokitiedostot standby--palvelimelle, joka vastaanottaa WAL-lokitiedostot.
Standby-palvelin raportoi takaisin ensisijaiseen palvelimeen ja sisältää tietoja, kuten sen kirjoittaman viimeisimmän kirjoituslokin ja viimeisen sijainnin levylle huuhtelun jne. Määritä wal_receiver_status_interval-parametri määrittääksesi vähimmäistiheyden sille, miten WAL-vastaanotin lähettää raportin takaisin. max_replication_slots-parametri määrittää palvelimen tukemien replikointipaikkojen enimmäismäärän. Kun wal_level on määritetty REPLICA-arvoksi, max_replication_slots on oltava vähintään yksi. Sallittu arvoalue on kuitenkin välillä ja 0–262 143.
max_wal_senders-parametri määrittää WAL-lähettäjäprosessien enimmäismäärän.
Ensisijaisia ja valmiuspalvelimia valvotaan ja ongelmien korjaamiseksi toteutetaan tarvittavat toimet, kuten vikasietoisuuden käynnistäminen valmiuspalvelimeen. Seuraavassa luetellaan vikasietoiseksi suuren käytettävyyden tilat:
- alustaminen – Uutta valmiuspalvelinta luotaessa.
- replikointi – Tietojen replikointi on vakaassa tilassa ja hyvässä kunnossa.
- Healthy - Ensisijainen päivittää valmiustilaa.
- Epäonnistuminen : Ensisijaista tietokantapalvelinta ei ole tarkoitus käyttää valmiudessa.
- Valmiustila- poistaminen – Valmiuden poistamisprosessissa.
- Ei käytössä - – Vikasietoinen suuri käytettävyysvyöhykkeen käytettävyys ei ole käytössä.
Voit lisätä suuren käytettävyyden olemassa olevalle tietokantapalvelimelle. Jos otat käyttöön tai poistat käytöstä suuren käytettävyyden reaaliaikaisessa palvelimessa, suorita toiminto, kun toimintaa on vähän.
Azure-portaalista:
- Siirry PostgreSQL-palvelimen Azure-tietokantaan.
- Valitse Overview -osiosta nykyinen Configuration. Esiin tulee Compute + Storage -osa.
- Valitse Korkea käytettävyys -kohdassa Suuri käytettävyys (vikasietoinen) valintaruutu korkean käytettävyyden mahdollistamiseksi. Korkeaa käytettävyyttä ei tueta purskettavalla tasolla.
On tärkeää huomata, että suuri käytettävyys on järjestelmäpalautusasetus. Et voi käyttää standby-palvelinta mihinkään muuhun tarkoitukseen, kuten vain luku -tietokantojen käytön sallimiseen. Voit kuitenkin määrittää replikoinnin kahden Azure-tietokannan välillä PostgreSQL-palvelimille julkaisija- ja tilaajamallin avulla. Tämä määritys ylläpitää kahta palvelinta, joiden välillä replikoidaan tietoja. Sinulla on sitten täysi pääsy tilaajapalvelimeen ja voit käyttää tietokantoja mihin tahansa tarkoitukseen. Harjoittelet tätä määritystä harjoituksessa tämän moduulin lopussa.
Looginen koodauksen koodaus
Looginen koodauksen koodaus käyttää myös tietoja, jotka lähetetään kirjoitettavaan lokiin. Kuten nimestä voi päätellä, se purkaa kirjoittamisen edessä olevan lokin merkinnät, jotta ne ovat ymmärrettäviä. Kaikki INSERT-, UPDATE- ja DELETE-muutokset ovat käytettävissä loogisen koodauksen koodaamisessa.
Loogista koodausta voidaan käyttää valvontaan, analyysiin tai mihin tahansa muuhun syytä, miksi haluat ehkä tietää, mikä muuttuu ja milloin se muuttuu.
Looginen koodauksen purku poimii muutokset tietokannan kaikista taulukoista. Tämä eroaa replikaatiosta siinä, että se ei voi lähettää näitä muutoksia toisiin PostgreSQL-esiintymiin. PostgreSQL-laajennus tarjoaa sen sijaan lähtölaajennuksen muutosten suoratoistoa varten.
Loogisen koodauksen avulla kirjoitettavan lokin sisältö voidaan purkaa helppotajuiseen muotoon, joka voidaan tulkita tietämättä tietokannan rakenteesta. PostgreSQL:n Azure-tietokanta tukee loogista koodausta käyttämällä wal2json -laajennusta, joka on asennettu Azure-tietokantaan Postgres-palvelimille.
Muita laajennuksia voidaan käyttää, kuten pglogic-laajennusta, joka mahdollistaa loogisen suoratoiston replikoinnin.
Jos haluat käyttää loogista koodausta, Server -parametrien, määritä:
- wal_level LOOGISEEN
- max_replication_slots = 10
- max_wal_senders = 10
Palvelin on käynnistettävä uudelleen, kun nämä muutokset on tehty.
Azure-portaalin pglogical -laajennuksen käyttäminen:
- Siirry PostgreSQL-palvelimen Azure-tietokantaan.
- Valitse Server -parametritja hae shared_preload_libraries. Valitse avattavasta ruudusta pglogical.
- Hae azure.extensions. Valitse avattavasta ruudusta pglogical.
- Jos haluat ottaa muutokset käyttöön, käynnistä palvelin uudelleen.
Sinun on myös myönnettävä järjestelmänvalvojan käyttäjälle oikeudet replikointiin:
ALTER ROLE <adminname> WITH REPLICATION;
Lisätietoja on pglogical extension -dokumentaatiossa online-dokumentaatiossa.
Loogisen koodauksen koodaaminen palauttaa tietojen muutokset tietovirtana, jota kutsutaan loogisen replikoinnin ajankohdaksi.
- Jokaisella lähtö- ja saapumispaikalla on yksi tulostelaajennuksia, jotka voit määrittää.
- Jokainen ajanjakso sisältää muutoksia vain yhdestä tietokannasta, mutta tietokannassa voi olla useita ajanjaksoja.
- Jokainen tietojen muutos lähetetään yleensä kerran per ajanjakso.
- Jos PostgreSQL käynnistyy uudelleen, ajanjakso voi aiheuttaa muutoksia, jotka asiakkaan on käsiteltävä.
- Ajanjaksoja on valvottava. Laskemattomat ajanjaksot pitävät kiinni kaikista WAL-tiedostoista näillä laskemattomille muutoksille. Tämä tilanne voi johtaa koko tallennustilan tai tapahtumatunnuksen paketointiseen.