Qual è la strategia preferita per modificare i dati da un database?

2

Stiamo riprogettando una vecchia applicazione VB6 in rete. L'applicazione fa ampio uso di un database e include la gestione dei membri del club e i loro risultati nelle competizioni a cui partecipano.

Quindi, se stiamo modificando il nome, l'indirizzo, il nome di un socio di un club, è ovvio che non inviare i dati al database finché l'intera operazione di modifica o aggiunta non è stata completata dall'utente.

Ma come farlo quando si registrano e si modificano i punteggi delle partite? Il vantaggio di inviare ogni punteggio aggiunto o modificato direttamente al database è che abilita gli aggiornamenti in tempo reale delle classifiche. Lo svantaggio è che l'annullamento delle modifiche potrebbe essere più difficile e che potrebbero verificarsi problemi di prestazioni quando la connessione al database presenta una latenza elevata. Quest'ultimo problema potrebbe presentarsi a un certo punto, ma per il futuro imprevedibile lavoreremo con le versioni desktop del database.

Sarei interessato alla descrizione delle migliori pratiche e delle esperienze dal vivo. Grazie!

    
posta Dabblernl 17.09.2013 - 15:25
fonte

1 risposta

1

Personalmente, considererei l'architettura finale a cui miri e rifletti sulle conseguenze che ciò ha sull'implementazione.

L'approccio più semplice consiste nel fare una 'applicazione database' in cui si rende l'applicazione strettamente accoppiata al database. È semplice, veloce e funziona bene su un desktop, e come un singolo sistema utente, le strategie di blocco dei dati possono essere inesistenti. Tuttavia, l'elevata latenza del database non è un'opzione con questo approccio, quindi non aspettarti di renderlo una soluzione Internet o hosted in futuro.

L'altra estremità della scala è avere un'architettura multilivello. Database, dietro una pila di servizi Web (SOAP o REST) che abilitano un'applicazione client (o un altro server Web che fornisce un'interfaccia Web) per interrogare e aggiornare i dati nel database. Questo approccio si adatta a Internet e può essere ospitato in modo abbastanza economico. Può anche essere configurato su un desktop, ma è un database e un server web ... ma è molto più impegnativo per lo sviluppo.

Dato che stai facendo questa domanda, il mio istinto è di raccomandare il primo approccio a te, sulla base del fatto che hai maggiori probabilità di avere successo e di avere qualcosa che funzioni. In una fase successiva i vantaggi dell'approccio distribuito per il club, come non affidarsi a "Fred" facendo tutti gli aggiornamenti poiché il database è sul suo laptop, possono essere introdotti senza la pressione del tempo di aver bisogno di qualcosa appena ...

    
risposta data 17.09.2013 - 16:44
fonte

Leggi altre domande sui tag