Geavanceerd PostgreSQL: indexering, partitionering en replicatie · Les

Basisbeginselen van logische replicatie

Begrijp de verschillen en voordelen van logische replicatie ten opzichte van fysieke replicatie.

Les 1 van 411 stappen

Basisbeginselen van logische replicatie is een gratis Geavanceerd PostgreSQL: indexering, partitionering en replicatie-les op CoddyKit. Dit is les 1 van 4. Je kunt de volledige les hieronder gratis lezen en daarna in de browser praktisch oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject Geavanceerd PostgreSQL: indexering, partitionering en replicatie. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus Geavanceerd PostgreSQL: indexering, partitionering en replicatie bevat in totaal 4 lessen.

Wat is logische replicatie?

Welkom bij logische replicatie! Met deze krachtige functie van PostgreSQL kunt u gegevens repliceren op basis van daadwerkelijke gegevenswijzigingen, en niet alleen op basis van fysieke blokken.

In tegenstelling tot fysieke replicatie, waarbij volledige databasebestanden of -blokken worden gekopieerd, richt logische replicatie zich op de gegevens zelf. Hierdoor krijgt u veel meer flexibiliteit.

Fysiek versus logisch: het belangrijkste verschil

Het belangrijkste verschil zit in wat er wordt gerepliceerd:

  • Fysieke replicatie: Kopieert onbewerkte datablokken en interne databasestructuren. Het is alsof je op byteniveau een volledige momentopname van de database maakt.
  • Logische replicatie: Repliceert afzonderlijke gegevenswijzigingen (INSERTs, UPDATEs, DELETEs) als logische bewerkingen. Het begrijpt dat er 'een rij is ingevoegd', in plaats van alleen dat 'dit blok is gewijzigd'.

Je kunt het zien als het kopiëren van een heel boek (fysiek) tegenover het kopiëren van alleen de nieuwe zinnen die aan specifieke hoofdstukken zijn toegevoegd (logisch).

Hoe logische replicatie werkt

Logische replicatie maakt gebruik van PostgreSQL's Write-Ahead Log (WAL).

  • Wanneer gegevens wijzigen, worden er vermeldingen naar de WAL geschreven.
  • Een speciaal proces met de naam logical decoding leest deze WAL-vermeldingen.
  • Het vertaalt ze naar een stroom logische wijzigingen, zoals SQL-instructies (bijvoorbeeld INSERT INTO users VALUES (...)).
  • Deze logische wijzigingen worden vervolgens naar andere databases verzonden.

Belangrijk onderdeel: de uitgever

Bij logische replicatie zijn er twee hoofdrollen:

  • De uitgever is de brondatabase die de gegevenswijzigingen genereert en verzendt.
  • De uitgever definieert publicaties: specifieke sets tabellen en/of bewerkingstypen (INSERT, UPDATE, DELETE) die beschikbaar moeten worden gemaakt voor replicatie.

Zie een uitgever als een nieuwsagentschap dat specifieke nieuwskanalen uitzendt.

Belangrijk onderdeel: de abonnee

De andere hoofdrol is die van de abonnee:

  • De abonnee is de bestemmingsdatabase die de gegevenswijzigingen ontvangt en toepast.
  • De abonnee maakt abonnementen op specifieke publicaties die door een uitgever worden aangeboden.
  • De tabellen van de abonnee moeten een compatibel schema hebben (dezelfde tabel- en kolomnamen en -typen) als de tabellen van de uitgever die worden gerepliceerd.

De abonnee lijkt op een televisietuner die die specifieke nieuwskanalen ontvangt.

De reis van de gegevensstroom

Volg een gegevenswijziging door logische replicatie:

  1. Een transactie wordt vastgelegd op de uitgever.
  2. De wijzigingen worden in de WAL vastgelegd.
  3. Logische decodering haalt deze wijzigingen uit de WAL en zet ze in een stroom.
  4. Deze stroom wordt via het netwerk naar de abonnee verzonden.
  5. De abonnee past deze wijzigingen toe op zijn lokale tabellen en repliceert de gegevens daarmee effectief.

Voordelen: flexibiliteit en selectiviteit

Logische replicatie biedt belangrijke voordelen:

  • Selectieve replicatie: Je kunt ervoor kiezen om alleen specifieke tabellen te repliceren, in plaats van de hele database.
  • Compatibiliteit tussen versies: Vaak is replicatie mogelijk tussen verschillende hoofdversies van PostgreSQL (bijvoorbeeld van 13 naar 15).
  • Heterogene doelen: Hoewel logische replicatie voornamelijk voor PostgreSQL wordt gebruikt, kan het met externe hulpprogramma's als bron voor andere databases dienen.
  • Minder netwerkverkeer: Alleen gewijzigde gegevens worden verzonden, niet volledige blokken.

Praktische toepassingen

Logische replicatie is bijzonder veelzijdig:

  • Upgrades zonder downtime: Repliceer naar een nieuwere PostgreSQL-versie en schakel daarna over.
  • Gegevensdistributie: Stuur specifieke gegevenssets naar analytische databases of microservices.
  • Gegevensconsolidatie: Combineer gegevens uit meerdere bronnen in een centrale rapportagedatabase.
  • Selectieve leesreplica's: Maak alleen-lezenkopieën van de tabellen die het vaakst worden opgevraagd.

Beperkingen en aandachtspunten

Hoewel logische replicatie krachtig is, heeft deze beperkingen:

  • DDL (schem wijzigingen): Schem wijzigingen (zoals ALTER TABLE) worden NIET automatisch gerepliceerd. Je moet ze handmatig toepassen op zowel de uitgever als de abonnee.
  • Replicatie van reeksen: Reeksen worden niet gerepliceerd; hun waarden moeten afzonderlijk worden verwerkt.
  • Geen ingebouwde failover: Logische replicatie zelf biedt geen automatische failovermogelijkheden, zoals sommige configuraties voor fysieke replicatie (bijvoorbeeld met Patroni).
  • Grote objecten: Grote objecten (bytea) worden niet rechtstreeks gerepliceerd en vereisen extra aandacht.

Quiz: logische versus fysieke replicatie

Test je begrip van de belangrijkste verschillen en voordelen.

Samenvatting: logische replicatie

Je hebt de grondbeginselen van logische replicatie geleerd!

  • Gegevens worden gerepliceerd op basis van logische wijzigingen in rijen, wat veel flexibiliteit biedt.
  • Het werkt via uitgevers die publicaties definiëren en abonnees die abonnementen maken.
  • Belangrijke voordelen zijn selectieve replicatie en compatibiliteit tussen versies.
  • Houd er rekening mee dat DDL en reeksen niet automatisch worden gerepliceerd en handmatig moeten worden verwerkt.

Vervolgens leer je hoe je publicaties en abonnementen configureert om dit krachtige systeem te activeren!

Gratis beginnen

Leer Geavanceerd PostgreSQL: indexering, partitionering en replicatie met een AI-tutor — gratis

Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.

Cursussen
11
Lessen
44

Veelgestelde vragen

Is de les “Basisbeginselen van logische replicatie” gratis?

Ja — de volledige tekst van “Basisbeginselen van logische replicatie” kun je hier gratis op het web lezen. Als je interactief wilt oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is, en de rest van de cursus Geavanceerd PostgreSQL: indexering, partitionering en replicatie wilt ontgrendelen, kun je upgraden naar CoddyKit PRO. De cursus Geavanceerd PostgreSQL: indexering, partitionering en replicatie bevat in totaal 4 lessen.

Wat leer ik in “Basisbeginselen van logische replicatie”?

Begrijp de verschillen en voordelen van logische replicatie ten opzichte van fysieke replicatie. Je oefent met Geavanceerd PostgreSQL: indexering, partitionering en replicatie door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.

Heb ik ervaring nodig om met Geavanceerd PostgreSQL: indexering, partitionering en replicatie te beginnen?

Ervaring vooraf is niet nodig. Geavanceerd PostgreSQL: indexering, partitionering en replicatie op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 1 van 4.

Hoe lang duurt de les “Basisbeginselen van logische replicatie”?

De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.

Kan ik code schrijven en uitvoeren in deze les over Geavanceerd PostgreSQL: indexering, partitionering en replicatie?

Ja. Elke les over Geavanceerd PostgreSQL: indexering, partitionering en replicatie bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.

Alle lessen in deze cursus

  1. Basisbeginselen van logische replicatie
  2. Publications configureren
  3. Subscriptions beheren
  4. Conflictoplossing bij logische replicatie
← Terug naar Geavanceerd PostgreSQL: indexering, partitionering en replicatie