Looginen dekoodaus ja Change Data Capture
Käytätte loogista dekoodausta PostgreSQL:n rivitason muutosten suoratoistoon CDC-putkia ja tapahtumapohjaisia järjestelmiä varten.
Looginen dekoodaus ja Change Data Capture on ilmainen Edistynyt PostgreSQL: indeksointi, osiointi ja replikointi-oppitunti CoddyKitissä. Tämä on oppitunti 4/4. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu Edistynyt PostgreSQL: indeksointi, osiointi ja replikointi-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Edistynyt PostgreSQL: indeksointi, osiointi ja replikointi-kurssilla on yhteensä 4 oppituntia.
Mitä looginen dekoodaus on
Looginen dekoodaus muuntaa kirjoituslokin luettavaksi loogisten rivimuutosten virraksi. Se on sekä loogisen replikoinnin että ulkoisen Change Data Capture (CDC) -tiedonkeruun perusta.
Tulosteliitännäiset
Liitännäinen määrittää muutosvirran muodon. Sisäänrakennettu pgoutput tuottaa loogisen replikoinnin, test_decoding tulostaa ihmisille luettavaa tekstiä ja Debeziumin kaltaiset työkalut käyttävät omia liitännäisiään.
Edellytys: wal_level
Looginen dekoodaus edellyttää asetusta wal_level = logical. Sen muuttaminen vaatii uudelleenkäynnistyksen.
-- postgresql.conf
wal_level = logicalLoogisen paikan luominen
Looginen replikointipaikka seuraa, kuinka pitkälle kuluttaja on lukenut, ja estää sen tarvitsemien WAL-tietojen poistamisen.
SELECT pg_create_logical_replication_slot(
'cdc_slot', 'test_decoding');Muutosten esikatselu
pg_logical_slot_peek_changes näyttää odottavat muutokset siirtämättä paikkaa eteenpäin, mikä on hyödyllistä tarkastelua varten.
SELECT * FROM pg_logical_slot_peek_changes(
'cdc_slot', NULL, NULL);Muutosten kuluttaminen
pg_logical_slot_get_changes lukee muutokset ja siirtää paikkaa eteenpäin, joten näitä muutoksia ei palauteta enää uudelleen.
SELECT * FROM pg_logical_slot_get_changes(
'cdc_slot', NULL, NULL);Esimerkki muutoksen tulosteesta
test_decoding-liitännäisellä INSERT näkyy luettavana tekstinä, joka kuvaa taulua ja uusia sarakearvoja BEGIN- ja COMMIT-merkkien välissä.
BEGIN 712
table public.users: INSERT: id[int]:1 name[text]:'Ada'
COMMIT 712Paikat säilyttävät WAL:n
Käyttämätön paikka säilyttää WAL:n ikuisesti, mikä voi täyttää levyn. Valvokaa käyttämättömiä paikkoja ja poistakaa ne.
SELECT slot_name, active FROM pg_replication_slots;
SELECT pg_drop_replication_slot('cdc_slot');CDC-putket
Ulkoiset CDC-yhdistimet suoratoistavat paikan tiedot Kafkaan, hakemistoihin tai tietovarastoihin, mikä mahdollistaa lähes reaaliaikaiset päivitykset jatkokäsittelyssä.
Vähintään kerran toimitus
Kuluttajien on seurattava viimeistä vahvistettua LSN:ää ja käsiteltävä mahdollinen uudelleentoimitus kaatumisen jälkeen. Suunnitelkaa jatkokäsittelyn kirjoitukset idempotenteiksi.
Replikan identiteetti CDC:tä varten
Jos haluatte tallentaa päivitysten ja poistojen täydellisen before-kuvan, määrittäkää tauluille REPLICA IDENTITY FULL, jos niillä ei ole käyttökelpoista pääavainta.
ALTER TABLE orders REPLICA IDENTITY FULL;Pikatarkistus
Miksi loogisia replikointipaikkoja on valvottava?
Kertaus
Opitte loogisen dekoodauksen: määritätte asetuksen wal_level=logical, luotte loogisen paikan tulosteliitännäisellä, esikatselette tai kulutatte muutoksia ja syötätte ne CDC-putkiin. Valvokaa paikkoja, suunnitelkaa idempotentit kuluttajat ja määrittäkää replikan identiteetti täydellisiä muutoskuvia varten.
Opi Edistynyt PostgreSQL: indeksointi, osiointi ja replikointi tekoälytuutorin avulla — ilmaiseksi
Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.
- Kurssit
- 11
- Oppitunnit
- 44
Usein kysytyt kysymykset
Onko oppitunti ”Looginen dekoodaus ja Change Data Capture” ilmainen?
Kyllä – oppitunnin ”Looginen dekoodaus ja Change Data Capture” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko Edistynyt PostgreSQL: indeksointi, osiointi ja replikointi-kurssin, päivitä CoddyKit PROhon. Edistynyt PostgreSQL: indeksointi, osiointi ja replikointi-kurssilla on yhteensä 4 oppituntia.
Mitä opin oppitunnilla ”Looginen dekoodaus ja Change Data Capture”?
Käytätte loogista dekoodausta PostgreSQL:n rivitason muutosten suoratoistoon CDC-putkia ja tapahtumapohjaisia järjestelmiä varten. Harjoittelet Edistynyt PostgreSQL: indeksointi, osiointi ja replikointi-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni Edistynyt PostgreSQL: indeksointi, osiointi ja replikointi-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin Edistynyt PostgreSQL: indeksointi, osiointi ja replikointi-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 4/4.
Kuinka kauan ”Looginen dekoodaus ja Change Data Capture”-oppitunnin suorittaminen kestää?
Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.
Voinko kirjoittaa ja suorittaa koodia tällä Edistynyt PostgreSQL: indeksointi, osiointi ja replikointi-oppitunnilla?
Kyllä. Jokainen Edistynyt PostgreSQL: indeksointi, osiointi ja replikointi-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.
Kaikki tämän kurssin oppitunnit
- Ketjutettu replikointi
- Monen isännän replikointi (BDR)
- Replikointipaikat ja WAL:n hallinta
- Looginen dekoodaus ja Change Data Capture