ID Replica

di il
11 risposte

ID Replica

Buongiorno, ho un dubbio per quanto riguarda la chiave primaria delle tabelle del database. Mi spiego:
ho creato un database in MS ACCESS che deve essere usato da più utenti. Non disponendo attualmente di un server, devo distribuire una copia del database a ogni utente, e alla fine del data entry unire il tutto in un unico database, per poi migrarlo su piattaforma postgres in un server.
Per non incorrere in ID duplicati, stavo pensando di impostare la Primary key di ogni tabella come ID REPLICA. Mi sorgono però dei debbi:
nel momento della migrazione in postgres posso incorrere in problemi? una chiave così complessa può causare rallentamenti durante l'elaborazione di query?

L'alternativa a cui sto pensando, è di assegnare ad ogni copia del database un renge di ID con numerazione semplice progressiva.

Vi ringrazio per gli aiuti!

11 Risposte

  • Re: ID Replica

    Scusa ma fai affermazioni incongruenti.
    Il fatto tu non abbia un server centrale non significa nulla con la necessità di dover, a tuo parere, distribuire l'intero DB... cosa peraltro possibile ma improbabile.
    Facciamo il ragionamento contrario, se tu avessi un server come penseresti di gestire questa cosa...?
    Giusto per informarti puoinusare il tuo PC come residenza del database e distribuire solo il Client....
    Insomma prima di pensare a cose strane ragioniamo sugli aspetti tecnici in modo piu funzionale.
  • Re: ID Replica

    X @pablito09

    Ho cancellato l'altro thread clone di questo.
    Non duplicare le discussioni in più aree, grazie.
  • Re: ID Replica

    @Alex ha scritto:


    Scusa ma fai affermazioni incongruenti.
    Il fatto tu non abbia un server centrale non significa nulla con la necessità di dover, a tuo parere, distribuire l'intero DB... cosa peraltro possibile ma improbabile.
    Facciamo il ragionamento contrario, se tu avessi un server come penseresti di gestire questa cosa...?
    Giusto per informarti puoinusare il tuo PC come residenza del database e distribuire solo il Client....
    Insomma prima di pensare a cose strane ragioniamo sugli aspetti tecnici in modo piu funzionale.
    Grazie per la risposta. Mi puoi gentilmente spiegare la cosa di usare il mio pc come residenza del database e distribuire solo il client?

    Io ho creato un database, ma il data entry lo devono fare più persone. Per questo pensavo di distribuire una copia del database a ogni persona. E unire poi tutto in una unica copia del database.
    Se hai suggerimenti per rendermi tutto questo più semplice ti ringrazierei molto.
  • Re: ID Replica

    Modalità FONTEND-BACKEND che poi è Client-Server.
    Si usa il client diviso dai dati e si linkano le tabelle.
  • Re: ID Replica

    @Alex ha scritto:


    Modalità FONTEND-BACKEND che poi è Client-Server.
    Si usa il client diviso dai dati e si linkano le tabelle.
    In questo caso gli ID delle tabelle li devo impostare come id replica? I client devono essere connessi alla stessa LAN del database backend per comunicare con lui? Nel mioo caso i client sarebbero localizzati in regioni diverse quindi con reti internet diverse

    Grazie
  • Re: ID Replica

    Lo strumento che usi non è il più adatto.
    Servirebbe programmello php o quello che vuoi.

    Nel tuo caso la chiave mettila tu,non autoincrementante, shardata cioè partizionata per client
  • Re: ID Replica

    +m2+ ha scritto:


    Lo strumento che usi non è il più adatto.
    Servirebbe programmello php o quello che vuoi.

    Nel tuo caso la chiave mettila tu,non autoincrementante, shardata cioè partizionata per client
    Purtroppo, come avrai capito, non sono un programmatore . Ma mi trovo costretto a fare sta cosa, imparando da poco a usare access (ma imparo in fretta dai ). Sto leggendo in rete in base alle tue indicazioni.

    Se facessi così: Divido il database in BE e FE, distribuisco il FE ai vari client (sparsi in giro per l'italia), poi durante il periodo di data entry (un anno di tempo) a cadenza regolare mi faccio mandare il FE in modo che si connetti in locale al BE e trasmetta i dati. Secondo te potrebbe funzionare?

    Mi potresti dare qualche info ( o link dove poter imparare) riguardo all 'ID potenziata per client?
    Ti ringrazio davvero molto
  • Re: ID Replica

    Supponendo che tu voglia usare per forza access la prima parte è macchinosa ma fattibile.

    Sulla seconda,cioè la chiave, devi usarne,visto che non sei molto pratico, una in formato testo,più lunga di una piccola ed efficiente, ma che ti frega.
    La farai composita, ad esempio numeroclient_nomepc_timestamp_parterandom in modo da minimizzare il rischio di collisioni
    Puoi fare il mille altri modi ma la logica è quella, una chiave generata dal programma access che sia diversa per ogni record.
    Bonus utile ma non indispensabile un timestamp inverso per ordinamento lessicografico tipo 20200209162635
    Lascio stare guuid epoca e così via per semplicità
  • Re: ID Replica

    Grazie.

    Ho una nuova domanda
    Ho visto che il sistema BE e FE mi sarebbe davvero funzionale, ma lavora solo in rete. Se non sbaglio il FE funziona solo se costantemente connesso con il BE, altrimenti non apre le tabelle. Corretto?
    Se così davvero è, mi serve una cartella di rete dove mettere il BE, che però per mia esigenza dovrebbe essere raggiungibile dal Client non solo dall'interno della LAN ma anche dall'esterno. Ho un pc fisso, in buone condizioni e con Windows 10, che al momento non sto usando. Potrei usarlo come server? Dovrei creare una VPN per rendere la cartella dove è posizionato il BE raggiungibile da una linea esterna?

    Grazie ancora per la pazienza
  • Re: ID Replica

    Considerando che tempo fa in un noto ospedale di Milano mi sono imbattuto in un pc win xp usato come db server, nello specifico SQL Server, direi che è fattibile. Potresti usare quindi win 10 come da tua riflessione.
    Ovviamente stiamo parlando di una pessima soluzione sotto tutti gli aspetti, sia architetturali che di altre tematiche.
  • Re: ID Replica

    Pablito09 ha scritto:


    Se così davvero è, mi serve una cartella di rete dove mettere il BE, che però per mia esigenza dovrebbe essere raggiungibile dal Client non solo dall'interno della LAN ma anche dall'esterno. Ho un pc fisso, in buone condizioni e con Windows 10, che al momento non sto usando. Potrei usarlo come server? Dovrei creare una VPN per rendere la cartella dove è posizionato il BE raggiungibile da una linea esterna?
    Questo richiede che vi sia sempre una connessione internet attiva.
    E' possibile fare una VPN, anche banalmente PPTP, fra client Windows su cui fai girare i programmelli.
    C'è un possibile problema di latenza, però, e in generale la concorrenza non è così banale da mantenere correttamente.

    Ovviamente per progettini tipo quello descritto va bene praticamente qualsiasi cosa
Devi accedere o registrarti per scrivere nel forum
11 risposte