Programmeren van WebSockets en realtime-systemen · Les

Databasewijzigingen streamen naar clients

Push live database-updates naar verbonden clients door naar change events te luisteren en deze realtime via WebSockets door te sturen.

Les 3 van 313 stappen

Databasewijzigingen streamen naar clients is een gratis Programmeren van WebSockets en realtime-systemen-les op CoddyKit. Dit is les 3 van 3. 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 Programmeren van WebSockets en realtime-systemen. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus Programmeren van WebSockets en realtime-systemen bevat in totaal 3 lessen.

Van pollen naar pushen

In plaats van dat clients de database steeds opnieuw om nieuwe gegevens vragen, kun je wijzigingen pushen zodra ze plaatsvinden. De backend luistert naar de database en stuurt updates door via WebSockets.

Wijzigingsgegevens vastleggen

Change Data Capture (CDC) is het patroon waarbij invoegingen, updates en verwijderingen als een stroom gebeurtenissen worden geobserveerd, in plaats van verschillen op te vragen.

Mechanismen voor databasemeldingen

Veel databases geven wijzigingsgebeurtenissen uit:

  • PostgreSQL: LISTEN / NOTIFY of logische replicatie
  • MongoDB: wijzigingsstromen
  • Firebase/Supabase: ingebouwde realtimefunctionaliteit

Postgres LISTEN/NOTIFY

Postgres kan een melding op een kanaal versturen waarop je backend zich abonneert.

await client.query('LISTEN row_changed');

Meldingen activeren

Een trigger voert bij gegevenswijzigingen pg_notify uit en bevat een payload met een beschrijving van de wijziging.

CREATE TRIGGER notify_change
AFTER INSERT ON orders
FOR EACH ROW EXECUTE FUNCTION notify_row();

De gebeurtenis ontvangen

Je Node-backend verwerkt de melding en stuurt deze door naar geïnteresseerde WebSocket-clients.

client.on('notification', (msg) => {
  broadcast(JSON.parse(msg.payload));
});

Bepalen wie updates ontvangt

Niet elke client heeft belang bij elke wijziging. Stuur updates op basis van onderwerp, gebruiker of ruimte, zodat clients alleen relevante gegevens ontvangen.

function broadcast(change) {
  toRoom('orders:' + change.userId, change);
}

Deltas versturen, geen momentopnamen

Verstuur alleen wat er is gewijzigd (een delta) in plaats van de volledige dataset. Clients passen de delta toe op hun lokale kopie, waardoor bandbreedte wordt bespaard.

ws.send(JSON.stringify({ op: 'update', id: 42, fields: { status: 'shipped' } }));

Beginstatus plus stroom

Een veelgebruikt patroon: stuur bij het verbinden een volledige momentopname en stream daarna incrementele wijzigingen. De client blijft gesynchroniseerd zonder alles opnieuw op te halen.

Opnieuw verbinden afhandelen

Na opnieuw verbinden kan een client wijzigingen hebben gemist. Stuur een nieuwe momentopname of een cursor met wijzigingen sinds de laatst bekende versie om veilig opnieuw te synchroniseren.

Aanbevolen werkwijzen

Stream wijzigingen betrouwbaar:

  • Gebruik CDC of LISTEN/NOTIFY in plaats van polling
  • Filter updates per client
  • Verstuur deltas, geen volledige momentopnamen
  • Synchroniseer opnieuw na het verbinden om hiaten op te vullen

Korte controle

Test je kennis over het streamen van wijzigingen.

Samenvatting

Je hebt live databasewijzigingen naar clients gestreamd:

  • Gebruik CDC / LISTEN-NOTIFY in plaats van polling
  • Geef wijzigingsgebeurtenissen door via WebSockets
  • Filter per client en verstuur deltas
  • Maak een momentopname bij het verbinden en synchroniseer opnieuw na het opnieuw verbinden

Je gegevens blijven nu van begin tot eind live.

Gratis beginnen

Leer Programmeren van WebSockets en realtime-systemen 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
12
Lessen
47

Veelgestelde vragen

Is de les “Databasewijzigingen streamen naar clients” gratis?

Ja — de volledige tekst van “Databasewijzigingen streamen naar clients” 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 Programmeren van WebSockets en realtime-systemen wilt ontgrendelen, kun je upgraden naar CoddyKit PRO. De cursus Programmeren van WebSockets en realtime-systemen bevat in totaal 3 lessen.

Wat leer ik in “Databasewijzigingen streamen naar clients”?

Push live database-updates naar verbonden clients door naar change events te luisteren en deze realtime via WebSockets door te sturen. Je oefent met Programmeren van WebSockets en realtime-systemen 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 Programmeren van WebSockets en realtime-systemen te beginnen?

Ervaring vooraf is niet nodig. Programmeren van WebSockets en realtime-systemen 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 3 van 3.

Hoe lang duurt de les “Databasewijzigingen streamen naar clients”?

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 Programmeren van WebSockets en realtime-systemen?

Ja. Elke les over Programmeren van WebSockets en realtime-systemen 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. WebSockets met RESTful API's
  2. Koppelen aan message queues
  3. Databasewijzigingen streamen naar clients
← Terug naar Programmeren van WebSockets en realtime-systemen