Transmitindo alterações do banco de dados aos clientes
Envie atualizações do banco de dados em tempo real aos clientes conectados ouvindo eventos de alteração e retransmitindo-os por WebSockets.
Transmitindo alterações do banco de dados aos clientes é uma aula grátis de WebSockets & Realtime Systems Programming no CoddyKit. Esta é a aula 3 de 3. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de WebSockets & Realtime Systems Programming, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de WebSockets & Realtime Systems Programming inclui 3 aulas no total.
Partes desta aula ainda não foram traduzidas e aparecem em inglês.
From Polling to Pushing
Instead of clients repeatedly asking the database for new data, you can push changes the moment they happen. The backend listens to the database and relays updates over WebSockets.
Change Data Capture
Change Data Capture (CDC) is the pattern of observing inserts, updates, and deletes as a stream of events instead of querying for differences.
Database Notification Mechanisms
Many databases emit change events:
- PostgreSQL:
LISTEN/NOTIFYor logical replication - MongoDB: change streams
- Firebase/Supabase: built-in realtime
Postgres LISTEN/NOTIFY
Postgres can send a notification on a channel that your backend subscribes to.
await client.query('LISTEN row_changed');Triggering Notifications
A trigger fires pg_notify on data changes, carrying a payload describing the change.
CREATE TRIGGER notify_change
AFTER INSERT ON orders
FOR EACH ROW EXECUTE FUNCTION notify_row();Receiving the Event
Your Node backend handles the notification and forwards it to interested WebSocket clients.
client.on('notification', (msg) => {
broadcast(JSON.parse(msg.payload));
});Filtering Who Gets Updates
Not every client cares about every change. Route updates by topic, user, or room so clients only receive relevant data.
function broadcast(change) {
toRoom('orders:' + change.userId, change);
}Sending Deltas, Not Snapshots
Transmit just what changed (a delta) rather than the whole dataset. Clients apply the delta to their local copy, saving bandwidth.
ws.send(JSON.stringify({ op: 'update', id: 42, fields: { status: 'shipped' } }));Initial State plus Stream
A common pattern: on connect, send a full snapshot, then stream incremental changes. The client stays in sync without re-fetching everything.
Handling Reconnects
After a reconnect a client may have missed changes. Send a fresh snapshot or a cursor of changes since its last known version to resync safely.
Best Practices
Stream changes reliably:
- Use CDC or LISTEN/NOTIFY instead of polling
- Filter updates per client
- Send deltas, not full snapshots
- Resync on reconnect to fill gaps
Quick Check
Test your change-streaming knowledge.
Recap
You streamed live database changes to clients:
- Use CDC / LISTEN-NOTIFY instead of polling
- Relay change events over WebSockets
- Filter per client and send deltas
- Snapshot on connect, resync on reconnect
Your data now stays live end to end.
Perguntas Frequentes
A aula “Transmitindo alterações do banco de dados aos clientes” é grátis?
Sim — o texto completo de “Transmitindo alterações do banco de dados aos clientes” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de WebSockets & Realtime Systems Programming, atualize para CoddyKit PRO. O curso de WebSockets & Realtime Systems Programming inclui 3 aulas no total.
O que vou aprender em “Transmitindo alterações do banco de dados aos clientes”?
Envie atualizações do banco de dados em tempo real aos clientes conectados ouvindo eventos de alteração e retransmitindo-os por WebSockets. Você pratica WebSockets & Realtime Systems Programming com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar WebSockets & Realtime Systems Programming?
Nenhuma experiência prévia é necessária. WebSockets & Realtime Systems Programming no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 3 de 3.
Quanto tempo leva a aula “Transmitindo alterações do banco de dados aos clientes”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de WebSockets & Realtime Systems Programming?
Sim. Cada aula de WebSockets & Realtime Systems Programming inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- WebSockets com APIs RESTful
- Integração com filas de mensagens
- Transmitindo alterações do banco de dados aos clientes