Come eseguire un "Monitor DB automatico" e avvisare il cliente

0

Fino ad ora non ho trovato nulla di buono sul monitoraggio di valori specifici di tabelle specifiche di un DB (o tabelle correlate) modificati. Voglio sapere:

Poiché la maggior parte dei DB non supporta il monitoraggio delle modifiche per righe / valori / colonne specifici, come collegarle tra loro? (Voglio dire che non voglio usare qualcosa come Timer o loop per controllare se il valore di una riga specifica è cambiato e avvisare il mio cliente ...).

Quindi è necessario per noi creare un'altra nuova tecnologia che supporterà "notifiche all'applicazione client" riguardo a quale è stata modificata nel mio DB? O c'è qualcosa che lo ha fatto diventare realtà?

    
posta xqMogvKW 06.04.2016 - 11:30
fonte

1 risposta

2

La maggior parte dei database utilizza un approccio di tipo request-response unidirezionale: il client contatta il server e (eventualmente) si aspetta una risposta in cambio. Questo, in sostanza, impedisce al server di notificare un client su qualcosa; tecniche come il polling, esistono, ma hanno i loro svantaggi (come il carico pesante sul server e sulla rete).

D'altra parte, sembra che ti aspetti una comunicazione a due vie ; RethinkDB, già citato in un commento, è un esempio di un database che supporta questo, quindi potrebbe essere una soluzione per il problema che stai cercando di risolvere.

Un'altra soluzione potrebbe essere semplicemente tenere traccia delle modifiche all'interno della propria applicazione, al livello di accesso ai dati . A seconda della lingua / framework che utilizzi, questo potrebbe essere più o meno facile da implementare, nonché utilizzare tecnologie come WebSockets per propagare le modifiche agli utenti finali .

Infine, se devi tenere traccia delle modifiche a una tabella utilizzata in più applicazioni, puoi creare un servizio web che avrà diritti esclusivi per modificare questa tabella e fare in modo che tutte le altre applicazioni chiamino questo servizio invece di interrogare direttamente il database. Al momento della modifica, il servizio potrebbe utilizzare un servizio messaggi in coda per trasmettere il messaggio che indica che i dati sono stati modificati.

    
risposta data 06.04.2016 - 14:28
fonte

Leggi altre domande sui tag