CERCA
PER MODELLO
FullScreen Chatbox! :)

Utente del giorno: 4eyes81 con ben 2 Thanks ricevuti nelle ultime 24 ore
Utente della settimana: elmegio con ben 7 Thanks ricevuti negli ultimi sette giorni
Utente del mese: bluemask con ben 43 Thanks ricevuti nell'ultimo mese

Visualizzazione dei risultati da 1 a 5 su 5
Discussione:

Dilemma sulle priorità della Sincronizzazione dei dati

Se questa discussione ti è stata utile, ti preghiamo di lasciare un messaggio di feedback in modo che possa essere preziosa in futuro anche per altri utenti come te!
  1. #1
    Baby Droid


    Registrato dal
    Mar 2015
    Messaggi
    14

    Ringraziamenti
    7
    Ringraziato 1 volta in 1 Post
    Predefinito

    Dilemma sulle priorità della Sincronizzazione dei dati

    Salve a tutti,
    Vi scrivo per sapere se qualcuno di voi conosce i meccanismi e le logiche che sono dietro alla sincronizzazione dei dati.

    Ritengo sia un notevole strumento: la possibilità di ritrovare tutte le informazioni raccolte su qualsiasi dispositivo, e che queste si aggiornino seguendo i nostri aggiornamenti.

    Però, proprio in tal senso, mi sorge una domanda:

    La sincronizzazione funziona su diversi dispositivi quando la si autorizza sui diversi dispositivi. Ok.

    Ma cosa accade se dovesse capitare di riaccenderne uno dopo qualche tempo?
    Sufficiente per avere, nel frattempo, apportato qualche modifica ai dati.
    Mi spiego con un esempio:

    La mia rubrica è composta da 100 contatti, oggi; un mese fa ne aveva 70:

    1) Ho due dispositivi A e B, entrambi con sincro attiva.
    Oggi il dispositivo A è acceso, con i 100 contatti;
    il dispositivo B è spento da un mese, quindi ha 70 contatti.

    Se domani accendo il dispositivo B e spengo quello A, cosa accade?
    Che la rubrica del dispositivo B verrà aggiornata a 100 numeri, o quella "in rete" registrerà l'informazione di 70 contatti e il dispositivo B rimane con i suoi 70?
    Il sistema come sceglie qual è il dato più aggiornato?
    Forse i dati sono registrati con una data?

    Deve per forza esistere un parametro, informaticamente parlando non può essere libero.
    Ma qual è? Quello del 'piu recente'?



    2) Ho due dispositivi A e B: A con sincro attiva, B sincro disattiva.
    Oggi il dispositivo A è acceso, con i 100 contatti;
    il dispositivo B è spento da un mese, quindi ha 70 contatti.

    Se domani accendo il dispositivo B e spengo quello A; poi modifico la rubrica del dispositivo B (che ha 70 contatti) cancellando 5 numeri e ne aggiungo 10; e solo dopo attivo la sincronizzazione: cosa accade?
    Che la rubrica del dispositivo B verrà aggiornata a 100 numeri, o quella "in rete" registrerà l'informazione di 75 contatti a partire dalla rubrica del dispositivo B con annesse modifiche portate?

    Quest'ultima ipotesi sarebbe vera se il parametro fosse la data (e se una modifica su un contatto in rubrica aggiorna la data di tutti i contatti, di tutta la rubrica). O sbaglio?



    Perdonate il trip ma la cosa mi sembra interessante e forse ha anche un'utilità...

    Grazie in anticipo!

  2.  
  3. #2
    Baby Droid L'avatar di gianpassa


    Registrato dal
    Nov 2012
    Messaggi
    17,271
    Smartphone
    Yamaha G2

    Ringraziamenti
    4,696
    Ringraziato 7,915 volte in 6,057 Posts
    Predefinito

    Quote Originariamente inviato da Allievo Visualizza il messaggio
    Salve a tutti,
    Vi scrivo per sapere se qualcuno di voi conosce i meccanismi e le logiche che sono dietro alla sincronizzazione dei dati.

    Ritengo sia un notevole strumento: la possibilità di ritrovare tutte le informazioni raccolte su qualsiasi dispositivo, e che queste si aggiornino seguendo i nostri aggiornamenti.

    Però, proprio in tal senso, mi sorge una domanda:

    La sincronizzazione funziona su diversi dispositivi quando la si autorizza sui diversi dispositivi. Ok.

    Ma cosa accade se dovesse capitare di riaccenderne uno dopo qualche tempo?
    Sufficiente per avere, nel frattempo, apportato qualche modifica ai dati.
    Mi spiego con un esempio:

    La mia rubrica è composta da 100 contatti, oggi; un mese fa ne aveva 70:

    1) Ho due dispositivi A e B, entrambi con sincro attiva.
    Oggi il dispositivo A è acceso, con i 100 contatti;
    il dispositivo B è spento da un mese, quindi ha 70 contatti.

    Se domani accendo il dispositivo B e spengo quello A, cosa accade?
    Che la rubrica del dispositivo B verrà aggiornata a 100 numeri, o quella "in rete" registrerà l'informazione di 70 contatti e il dispositivo B rimane con i suoi 70?
    Il sistema come sceglie qual è il dato più aggiornato?
    Forse i dati sono registrati con una data?

    Deve per forza esistere un parametro, informaticamente parlando non può essere libero.
    Ma qual è? Quello del 'piu recente'?



    2) Ho due dispositivi A e B: A con sincro attiva, B sincro disattiva.
    Oggi il dispositivo A è acceso, con i 100 contatti;
    il dispositivo B è spento da un mese, quindi ha 70 contatti.

    Se domani accendo il dispositivo B e spengo quello A; poi modifico la rubrica del dispositivo B (che ha 70 contatti) cancellando 5 numeri e ne aggiungo 10; e solo dopo attivo la sincronizzazione: cosa accade?
    Che la rubrica del dispositivo B verrà aggiornata a 100 numeri, o quella "in rete" registrerà l'informazione di 75 contatti a partire dalla rubrica del dispositivo B con annesse modifiche portate?

    Quest'ultima ipotesi sarebbe vera se il parametro fosse la data (e se una modifica su un contatto in rubrica aggiorna la data di tutti i contatti, di tutta la rubrica). O sbaglio?



    Perdonate il trip ma la cosa mi sembra interessante e forse ha anche un'utilità...

    Grazie in anticipo!
    Suppongo che la sincronia abbia la logica di qualsiasi sincronia dati in Cloud.

    Il sistema registra le operazioni effettuate in modo cronologico.

    Se tu modifichi (o cancelli) un dato, appena si attiva la sincronia quel dato viene modificato (o rimosso) dal server.

    Il problema si presenta quando le modifiche non sono coerenti: tipo modifico il contatto A e e poi, su altro terminale (con sincronia non aggiornata) modifico il contatto A ma in modo diverso.

    Su Drive per esempio in questi casi vengono salvate entrambe le versioni.
    Immagino che faccia altrettanto Google con i contatti: in caso di incoerenza tra le modifiche vengono mantenute tutte le versioni.

    Sono supposizioni, non ho mai fatto prove dirette.
    “L’uomo ha inventato la bomba atomica, ma nessun topo al mondo costruirebbe una trappola per topi”. A. Einstein

  4. Il seguente Utente ha ringraziato gianpassa per il post:

    Allievo (05-02-18)

  5. #3
    Androidiani Power User


    Registrato dal
    Sep 2014
    Messaggi
    14,264

    Ringraziamenti
    2,425
    Ringraziato 5,285 volte in 4,371 Posts
    Predefinito

    Quote Originariamente inviato da Allievo Visualizza il messaggio
    La mia rubrica è composta da 100 contatti, oggi; un mese fa ne aveva 70:
    1) Ho due dispositivi A e B, entrambi con sincro attiva.
    Oggi il dispositivo A è acceso, con i 100 contatti;
    il dispositivo B è spento da un mese, quindi ha 70 contatti.

    Se domani accendo il dispositivo B e spengo quello A, cosa accade?
    Che la rubrica del dispositivo B verrà aggiornata a 100 numeri, o quella "in rete" registrerà l'informazione di 70 contatti e il dispositivo B rimane con i suoi 70?
    Il sistema come sceglie qual è il dato più aggiornato?
    Forse i dati sono registrati con una data?

    Deve per forza esistere un parametro, informaticamente parlando non può essere libero.
    Ma qual è? Quello del 'piu recente'?


    La rubrica di B si aggiorna a 100 contatti, 70 più i trenta nuovi aggiunti successivamente.

    2) Ho due dispositivi A e B: A con sincro attiva, B sincro disattiva.
    Oggi il dispositivo A è acceso, con i 100 contatti;
    il dispositivo B è spento da un mese, quindi ha 70 contatti.

    Se domani accendo il dispositivo B e spengo quello A; poi modifico la rubrica del dispositivo B (che ha 70 contatti) cancellando 5 numeri e ne aggiungo 10; e solo dopo attivo la sincronizzazione: cosa accade?
    Che la rubrica del dispositivo B verrà aggiornata a 100 numeri, o quella "in rete" registrerà l'informazione di 75 contatti a partire dalla rubrica del dispositivo B con annesse modifiche portate?

    Quest'ultima ipotesi sarebbe vera se il parametro fosse la data (e se una modifica su un contatto in rubrica aggiorna la data di tutti i contatti, di tutta la rubrica). O sbaglio?

    Nessuno dei due, in entrambi i terminali e sul cloud avrai 105 contatti.

    A: 100-5+10=105

    B: 70-5+10+30=105
    Ultima modifica di complicazio; 03-02-18 alle 19:44

  6. Il seguente Utente ha ringraziato complicazio per il post:

    gianpassa (03-02-18)

  7. #4
    Baby Droid


    Registrato dal
    Mar 2015
    Messaggi
    14

    Ringraziamenti
    7
    Ringraziato 1 volta in 1 Post
    Predefinito

    Grazie ad entrambi gianpassa e complicazio.

    Ad ogni modo mi pare di capire che complicazio ci stia dicendo che la regola che domina è quella della cronologia in senso assoluto: cronologia che non è associata, nell'esempio della rubrica, in modo univoco a tutti i dati (contatti) contenuti ma è specifica per ognuno: ogni contatto conserva un'informazione di 'data di creazione' / 'di ultima modifica'.

    Quindi, in riferimento al problema di coerenza posto da gianpassa:
    Il problema si presenta quando le modifiche non sono coerenti: tipo modifico il contatto A e e poi, su altro terminale (con sincronia non aggiornata) modifico il contatto A ma in modo diverso.
    La soluzione è che, se la modifica effettuata sull'altro terminale è stata fatta cronologicamente dopo quella sul terminale A, allora l'informazione che rimarrà in memoria è quella dell'altro terminale.

    E la modifica fatta al contatto X oggi alle 12.00 e registrata in rete grazie alla sincro attiva su A, "perde" rispetto alla modifica fatta al contatto X alle 13.00 sull'altro dispositivo anche se con sincro disattivata:
    perchè quando verrà attivata la sincro sull'altro dispositivo, la modifica avrà una data successiva a quella fatta su terminale A, per cui domina.

    Chiedo in finale conferma a complicazio di tutto questo.


    Detto ciò, se confermato, mi ritiro con i miei trip e vi ringrazio per averli resi anche vostri
    Ultima modifica di Allievo; 03-02-18 alle 18:49

  8. #5
    Androidiani Power User


    Registrato dal
    Sep 2014
    Messaggi
    14,264

    Ringraziamenti
    2,425
    Ringraziato 5,285 volte in 4,371 Posts
    Predefinito

    Quote Originariamente inviato da Allievo Visualizza il messaggio
    Grazie ad entrambi gianpassa e complicazio.

    Ad ogni modo mi pare di capire che complicazio ci stia dicendo che la regola che domina è quella della cronologia in senso assoluto: cronologia che non è associata, nell'esempio della rubrica, in modo univoco a tutti i dati (contatti) contenuti ma è specifica per ognuno: ogni contatto conserva un'informazione di 'data di creazione' / 'di ultima modifica'.

    Quindi, in riferimento al problema di coerenza posto da gianpassa:

    La soluzione è che, se la modifica effettuata sull'altro terminale è stata fatta cronologicamente dopo quella sul terminale A, allora l'informazione che rimarrà in memoria è quella dell'altro terminale.

    E la modifica fatta al contatto X oggi alle 12.00 e registrata in rete grazie alla sincro attiva su A, "perde" rispetto alla modifica fatta al contatto X alle 13.00 sull'altro dispositivo anche se con sincro disattivata:
    perchè quando verrà attivata la sincro sull'altro dispositivo, la modifica avrà una data successiva a quella fatta su terminale A, per cui domina.

    Chiedo in finale conferma a complicazio di tutto questo.


    Detto ciò, se confermato, mi ritiro con i miei trip e vi ringrazio per averli resi anche vostri
    La logica della sincronia è di avere le stesse cose su più dispositivi; ogni modifica apportata da qualsiasi dispositivo comporta una modifica nei dispositivi sincronizzati e nel cloud.

    Nel caso specifico dei contatti Google, se modifico un contatto dal terminale A (es. aggiungo il numero di telefono) e poi faccio una modifica allo stesso contatto dal terminale B (es. aggiungo la mail) ci troveremo quel contatto con entrambe le modifiche; se dai due telefoni facciamo la modifica dello stesso parametro, ad esempio il nome del contatto, è evidente che l'ultima modifica in ordine cronologico è quella che rimane.
    Ultima modifica di complicazio; 03-02-18 alle 23:24

  9. I seguenti 2 Utenti hanno ringraziato complicazio per il post:

    Allievo (05-02-18),Gege98 (04-02-18)

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire risposte
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Torna su
Privacy Policy