Non è possibile indicare una soluzione che sia ottimale in assoluto. Tutto dipende dalla mole di dati che deve essere elaborata, dal database utilizzato e dalla bontà della connessione, oltrechè alle operazioni da svolgere sui dati stessi.
Io suggerisco l'impiego di un database di tipo client/server per evitare la necessità di effettuare dei lock e unlock dei record; le modifiche ai dati vengono gestite sfruttando delle transazioni affinchè gli utenti possano operare in un contesto valido e confermare in blocco elaborazioni multiple nella loro interezza, in modo atomico.
A parte questo, l'esigenza di scaricare i dati e lavorare offline per sincronizzarsi in un secondo momento concede molti vantaggi; nonostante il consumo di memoria e il tempo di caricamento iniziale, permette di liberare preziose risorse sul server, lavorare in modalità disconnessa sui dati ottenendo anche ordinamenti, filtri e altro ancora, per poi sincronizzarsi con il server riducendo il traffico di rete.
Nulla toglie comunque che si possano adottare soluzioni intermedie, connesse e disconnesse, a seconda delle occasioni.
Magari vale la pena focalizzare l'obiettivo che stai cercando di raggiungere per definire meglio le informazioni che ti servono effettivamente.
Ciao!![]()