Sobes.tech
Junior

Wat is replicatie in de context van databases en applicaties?

sobes.tech AI

Antwoord van AI

Replicatie is het proces van het maken en onderhouden van meerdere kopieën van gegevens van een database of de toestand van een applicatie op verschillende servers.

Doelen van replicatie:

  • Hoge Beschikbaarheid (High Availability): Wanneer een server uitvalt, kunnen andere replica's blijven voldoen aan de verzoeken.
  • Verbetering van schaalbaarheid: Leesverzoeken kunnen worden verdeeld over de replica's, waardoor de belasting op de hoofdserver wordt verminderd.
  • G geographically verspreiding (Noodherstel): Replica's kunnen zich in verschillende datacenters bevinden om te beschermen tegen lokale storingen.
  • Verlaging van latentie: Gebruikers kunnen gegevens lezen van de dichtstbijzijnde replica.

Types replicatie:

  • Synchrone: Wijzigingen worden op alle replica's geschreven voordat de transactie aan de klant wordt bevestigd. Biedt sterke consistentie, maar kan de schrijflatentie verhogen.
  • Asynchrone: De transactie wordt bevestigd aan de klant nadat deze op de hoofdserver is geschreven. Replica's worden later bijgewerkt. Biedt hogere schrijfsnelheid, maar kan tijdelijke dataconsistentie veroorzaken.

Replikatiemodi:

  • Master-Replica (of Master-Slave): Eén replica (master) accepteert alle schrijfbewerkingen, terwijl de andere (replica's) alleen lezen en wijzigingen ontvangen van de master.
  • Multi-Master: Meerdere replica's kunnen schrijfbewerkingen accepteren. Vereist een conflictresolutiemechanisme.

In de context van applicaties kan replicatie verwijzen naar het creëren van meerdere instanties van de applicatie (diensten) met dezelfde doelen: het verhogen van de beschikbaarheid en schaalbaarheid. Bijvoorbeeld, het starten van meerdere pods in Kubernetes, elk een replica van dezelfde service.