[QGIS-it-user] [ QGIS & GPKG ] - WAL & SHM - SESSIONE DI EDITING "MONOUTENTE" (IN "LOCALE") E "MULTIUTENTE" (CONCORRENTE, SU DISCO CONDIVISO)

Buongiorno,

sto cercando di approfondire, con QGIS, il formato dati “Geopackage” e, in particolare, i files “gpkg-wal”[0] & “gpkg-shm”[1]. La documentazione presente in rete è abbondante ma mi “sfugge” un qualcosa…

Provate a seguirmi.

  1. Creo un GPKG e lo salvo, in locale, in una cartella. Nessun file temporaneo viene generato nella cartella contenente il GPKG.

  2. Creo una connessione al GPKG appena creato. Nessun file temporaneo viene generato.

  3. Creo un nuovo layer (ad esempio, poligonale). Nessun file temporaneo viene generato.

  4. Attivo sul layer appena creato una sessione di editing. Vengono generati due files temporanei, gpkg-wal & gpkg-shm

  5. Chiudo la sessione di editing. Vengono eliminati i due files temporanei, gpkg-wal & gpkg-shm

Perfetto.

Ripeto gli stessi passaggi, con le stesse versioni di QGIS utilizzate (PC1: WIN 11, QGIS 3.28.12; PC2 WIN 10, QGIS 3.28.14). Ma, anziché usare un GPKG “locale” salvo il database su un disco di rete, condiviso, in modo da testare l’editing concorrente.

  1. Creo un GPKG e lo salvo, in remoto, su un disco condiviso, in una cartella. Nessun file temporaneo viene generato nella cartella contenente il GPKG.

  2. Creo una connessione al GPKG appena creato. Nessun file temporaneo viene generato.

  3. Creo un nuovo layer (ad esempio, poligonale). Nessun file temporaneo viene generato.

  4. Attivo sul layer appena creato una sessione di editing. Nessun file temporaneo viene generato.

  5. Chiudo la sessione di editing (salvando le modifiche nello stesso istante) e tutto si conclude senza alcun problema.

Non mi è chiaro il comportamento soprattutto per quanto riguarda i punti 4 e 5. Mi sarei aspettato un comportamento esattamente opposto a quanto evidenziato (anche per gestire l’“editing concorrente”) ma forse mi sono perso un qualcosa.

Posso chiedere il Vostro aiuto?

Grazie!

Ciao,
Francesco.

[0] gpkg-wal: Questo file contiene il log di scrittura anticipata (WAL) per la connessione corrente. In pratica, registra lo stato transazionale del database tra le operazioni di COMMIT o ROLLBACK. In altre parole, tiene traccia dei cambiamenti apportati al database durante una sessione di lavoro.

[1] gpkg-shm: Questo file gestisce l’accesso concorrente al database tramite un indice verso il file WAL. In sostanza, aiuta a garantire che più utenti possano accedere al database contemporaneamente senza causare conflitti.

Dove: WAL: Write-ahead Log; SHM: Shared Memory

https://sqlite.org/tempfiles.html

L’editing concorrente non è supportato, e te lo sconsiglio vivamente.
Buone cose.

Il 29 aprile 2024 14:27:28 CEST, Francesco Fiermonte via QGIS-it-user qgis-it-user@lists.osgeo.org ha scritto:

Buongiorno,

sto cercando di approfondire, con QGIS, il formato dati “Geopackage” e, in particolare, i files “gpkg-wal”[0] & “gpkg-shm”[1]. La documentazione presente in rete è abbondante ma mi “sfugge” un qualcosa…

Provate a seguirmi.

  1. Creo un GPKG e lo salvo, in locale, in una cartella. Nessun file temporaneo viene generato nella cartella contenente il GPKG.

  2. Creo una connessione al GPKG appena creato. Nessun file temporaneo viene generato.

  3. Creo un nuovo layer (ad esempio, poligonale). Nessun file temporaneo viene generato.

  4. Attivo sul layer appena creato una sessione di editing. Vengono generati due files temporanei, gpkg-wal & gpkg-shm

  5. Chiudo la sessione di editing. Vengono eliminati i due files temporanei, gpkg-wal & gpkg-shm

Perfetto.

Ripeto gli stessi passaggi, con le stesse versioni di QGIS utilizzate (PC1: WIN 11, QGIS 3.28.12; PC2 WIN 10, QGIS 3.28.14). Ma, anziché usare un GPKG “locale” salvo il database su un disco di rete, condiviso, in modo da testare l’editing concorrente.

  1. Creo un GPKG e lo salvo, in remoto, su un disco condiviso, in una cartella. Nessun file temporaneo viene generato nella cartella contenente il GPKG.

  2. Creo una connessione al GPKG appena creato. Nessun file temporaneo viene generato.

  3. Creo un nuovo layer (ad esempio, poligonale). Nessun file temporaneo viene generato.

  4. Attivo sul layer appena creato una sessione di editing. Nessun file temporaneo viene generato.

  5. Chiudo la sessione di editing (salvando le modifiche nello stesso istante) e tutto si conclude senza alcun problema.

Non mi è chiaro il comportamento soprattutto per quanto riguarda i punti 4 e 5. Mi sarei aspettato un comportamento esattamente opposto a quanto evidenziato (anche per gestire l’“editing concorrente”) ma forse mi sono perso un qualcosa.

Posso chiedere il Vostro aiuto?

Grazie!

Ciao,
Francesco.

[0] gpkg-wal: Questo file contiene il log di scrittura anticipata (WAL) per la connessione corrente. In pratica, registra lo stato transazionale del database tra le operazioni di COMMIT o ROLLBACK. In altre parole, tiene traccia dei cambiamenti apportati al database durante una sessione di lavoro.

[1] gpkg-shm: Questo file gestisce l’accesso concorrente al database tramite un indice verso il file WAL. In sostanza, aiuta a garantire che più utenti possano accedere al database contemporaneamente senza causare conflitti.

Dove: WAL: Write-ahead Log; SHM: Shared Memory

https://sqlite.org/tempfiles.html

Grazie, Paolo. Buono a sapersi. Però, fino a due utenti(!) e quattro geometrie(!!) sembrerebbe funzionare. Era solo per “dare una spiegazione” ai files temporanei il cui “comportamento” - oltre che “misterioso” - parrebbe “fuorviante”.

Ciao,
Francesco.

···

This message and its attachments are private and confidential. If you have received this message in error, please notify the sender and remove it and its attachments from your system.

e.o.f.


Da: Paolo Cavallini cavallini@faunalia.it
Inviato: lunedì 29 aprile 2024 14:35
A: Francesco Fiermonte francesco.fiermonte@polito.it; Francesco Fiermonte via QGIS-it-user qgis-it-user@lists.osgeo.org; qgis-it-user@lists.osgeo.org qgis-it-user@lists.osgeo.org
Oggetto: Re: [QGIS-it-user] [ QGIS & GPKG ] - WAL & SHM - SESSIONE DI EDITING “MONOUTENTE” (IN “LOCALE”) E “MULTIUTENTE” (CONCORRENTE, SU DISCO CONDIVISO)

L’editing concorrente non è supportato, e te lo sconsiglio vivamente.
Buone cose.

Il 29 aprile 2024 14:27:28 CEST, Francesco Fiermonte via QGIS-it-user qgis-it-user@lists.osgeo.org ha scritto:

Buongiorno,

sto cercando di approfondire, con QGIS, il formato dati “Geopackage” e, in particolare, i files “gpkg-wal”[0] & “gpkg-shm”[1]. La documentazione presente in rete è abbondante ma mi “sfugge” un qualcosa…

Provate a seguirmi.

  1. Creo un GPKG e lo salvo, in locale, in una cartella. Nessun file temporaneo viene generato nella cartella contenente il GPKG.

  2. Creo una connessione al GPKG appena creato. Nessun file temporaneo viene generato.

  3. Creo un nuovo layer (ad esempio, poligonale). Nessun file temporaneo viene generato.

  4. Attivo sul layer appena creato una sessione di editing. Vengono generati due files temporanei, gpkg-wal & gpkg-shm

  5. Chiudo la sessione di editing. Vengono eliminati i due files temporanei, gpkg-wal & gpkg-shm

Perfetto.

Ripeto gli stessi passaggi, con le stesse versioni di QGIS utilizzate (PC1: WIN 11, QGIS 3.28.12; PC2 WIN 10, QGIS 3.28.14). Ma, anziché usare un GPKG “locale” salvo il database su un disco di rete, condiviso, in modo da testare l’editing concorrente.

  1. Creo un GPKG e lo salvo, in remoto, su un disco condiviso, in una cartella. Nessun file temporaneo viene generato nella cartella contenente il GPKG.

  2. Creo una connessione al GPKG appena creato. Nessun file temporaneo viene generato.

  3. Creo un nuovo layer (ad esempio, poligonale). Nessun file temporaneo viene generato.

  4. Attivo sul layer appena creato una sessione di editing. Nessun file temporaneo viene generato.

  5. Chiudo la sessione di editing (salvando le modifiche nello stesso istante) e tutto si conclude senza alcun problema.

Non mi è chiaro il comportamento soprattutto per quanto riguarda i punti 4 e 5. Mi sarei aspettato un comportamento esattamente opposto a quanto evidenziato (anche per gestire l’“editing concorrente”) ma forse mi sono perso un qualcosa.

Posso chiedere il Vostro aiuto?

Grazie!

Ciao,
Francesco.

[0] gpkg-wal: Questo file contiene il log di scrittura anticipata (WAL) per la connessione corrente. In pratica, registra lo stato transazionale del database tra le operazioni di COMMIT o ROLLBACK. In altre parole, tiene traccia dei cambiamenti apportati al database durante una sessione di lavoro.

[1] gpkg-shm: Questo file gestisce l’accesso concorrente al database tramite un indice verso il file WAL. In sostanza, aiuta a garantire che più utenti possano accedere al database contemporaneamente senza causare conflitti.

Dove: WAL: Write-ahead Log; SHM: Shared Memory

https://sqlite.org/tempfiles.html

“l’editing concorrente non è supportato” significa che l’ultimo che salva la modifica su un elemento vince oppure c’è il rischio che si corrompa il geopackage?

s.

Il giorno lun 29 apr 2024 alle ore 14:35 Paolo Cavallini via QGIS-it-user <qgis-it-user@lists.osgeo.org> ha scritto:

L’editing concorrente non è supportato, e te lo sconsiglio vivamente.
Buone cose.

Il 29 aprile 2024 14:27:28 CEST, Francesco Fiermonte via QGIS-it-user <qgis-it-user@lists.osgeo.org> ha scritto:

Buongiorno,

sto cercando di approfondire, con QGIS, il formato dati “Geopackage” e, in particolare, i files “gpkg-wal”[0] & “gpkg-shm”[1]. La documentazione presente in rete è abbondante ma mi “sfugge” un qualcosa…

Provate a seguirmi.

  1. Creo un GPKG e lo salvo, in locale, in una cartella. Nessun file temporaneo viene generato nella cartella contenente il GPKG.

  2. Creo una connessione al GPKG appena creato. Nessun file temporaneo viene generato.

  3. Creo un nuovo layer (ad esempio, poligonale). Nessun file temporaneo viene generato.

  4. Attivo sul layer appena creato una sessione di editing. Vengono generati due files temporanei, gpkg-wal & gpkg-shm

  5. Chiudo la sessione di editing. Vengono eliminati i due files temporanei, gpkg-wal & gpkg-shm

Perfetto.

Ripeto gli stessi passaggi, con le stesse versioni di QGIS utilizzate (PC1: WIN 11, QGIS 3.28.12; PC2 WIN 10, QGIS 3.28.14). Ma, anziché usare un GPKG “locale” salvo il database su un disco di rete, condiviso, in modo da testare l’editing concorrente.

  1. Creo un GPKG e lo salvo, in remoto, su un disco condiviso, in una cartella. Nessun file temporaneo viene generato nella cartella contenente il GPKG.

  2. Creo una connessione al GPKG appena creato. Nessun file temporaneo viene generato.

  3. Creo un nuovo layer (ad esempio, poligonale). Nessun file temporaneo viene generato.

  4. Attivo sul layer appena creato una sessione di editing. Nessun file temporaneo viene generato.

  5. Chiudo la sessione di editing (salvando le modifiche nello stesso istante) e tutto si conclude senza alcun problema.

Non mi è chiaro il comportamento soprattutto per quanto riguarda i punti 4 e 5. Mi sarei aspettato un comportamento esattamente opposto a quanto evidenziato (anche per gestire l’“editing concorrente”) ma forse mi sono perso un qualcosa.

Posso chiedere il Vostro aiuto?

Grazie!

Ciao,
Francesco.

[0] gpkg-wal: Questo file contiene il log di scrittura anticipata (WAL) per la connessione corrente. In pratica, registra lo stato transazionale del database tra le operazioni di COMMIT o ROLLBACK. In altre parole, tiene traccia dei cambiamenti apportati al database durante una sessione di lavoro.

[1] gpkg-shm: Questo file gestisce l’accesso concorrente al database tramite un indice verso il file WAL. In sostanza, aiuta a garantire che più utenti possano accedere al database contemporaneamente senza causare conflitti.

Dove: WAL: Write-ahead Log; SHM: Shared Memory

https://sqlite.org/tempfiles.html


QGIS-it-user mailing list
QGIS-it-user@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/qgis-it-user

Secondo me la seconda che hai detto.

Il 29 aprile 2024 15:00:46 CEST, Stefano Campus via QGIS-it-user qgis-it-user@lists.osgeo.org ha scritto:

“l’editing concorrente non è supportato” significa che l’ultimo che salva la modifica su un elemento vince oppure c’è il rischio che si corrompa il geopackage?

s.

Il giorno lun 29 apr 2024 alle ore 14:35 Paolo Cavallini via QGIS-it-user <qgis-it-user@lists.osgeo.org> ha scritto:

L’editing concorrente non è supportato, e te lo sconsiglio vivamente.
Buone cose.

Il 29 aprile 2024 14:27:28 CEST, Francesco Fiermonte via QGIS-it-user <qgis-it-user@lists.osgeo.org> ha scritto:

Buongiorno,

sto cercando di approfondire, con QGIS, il formato dati “Geopackage” e, in particolare, i files “gpkg-wal”[0] & “gpkg-shm”[1]. La documentazione presente in rete è abbondante ma mi “sfugge” un qualcosa…

Provate a seguirmi.

  1. Creo un GPKG e lo salvo, in locale, in una cartella. Nessun file temporaneo viene generato nella cartella contenente il GPKG.

  2. Creo una connessione al GPKG appena creato. Nessun file temporaneo viene generato.

  3. Creo un nuovo layer (ad esempio, poligonale). Nessun file temporaneo viene generato.

  4. Attivo sul layer appena creato una sessione di editing. Vengono generati due files temporanei, gpkg-wal & gpkg-shm

  5. Chiudo la sessione di editing. Vengono eliminati i due files temporanei, gpkg-wal & gpkg-shm

Perfetto.

Ripeto gli stessi passaggi, con le stesse versioni di QGIS utilizzate (PC1: WIN 11, QGIS 3.28.12; PC2 WIN 10, QGIS 3.28.14). Ma, anziché usare un GPKG “locale” salvo il database su un disco di rete, condiviso, in modo da testare l’editing concorrente.

  1. Creo un GPKG e lo salvo, in remoto, su un disco condiviso, in una cartella. Nessun file temporaneo viene generato nella cartella contenente il GPKG.

  2. Creo una connessione al GPKG appena creato. Nessun file temporaneo viene generato.

  3. Creo un nuovo layer (ad esempio, poligonale). Nessun file temporaneo viene generato.

  4. Attivo sul layer appena creato una sessione di editing. Nessun file temporaneo viene generato.

  5. Chiudo la sessione di editing (salvando le modifiche nello stesso istante) e tutto si conclude senza alcun problema.

Non mi è chiaro il comportamento soprattutto per quanto riguarda i punti 4 e 5. Mi sarei aspettato un comportamento esattamente opposto a quanto evidenziato (anche per gestire l’“editing concorrente”) ma forse mi sono perso un qualcosa.

Posso chiedere il Vostro aiuto?

Grazie!

Ciao,
Francesco.

[0] gpkg-wal: Questo file contiene il log di scrittura anticipata (WAL) per la connessione corrente. In pratica, registra lo stato transazionale del database tra le operazioni di COMMIT o ROLLBACK. In altre parole, tiene traccia dei cambiamenti apportati al database durante una sessione di lavoro.

[1] gpkg-shm: Questo file gestisce l’accesso concorrente al database tramite un indice verso il file WAL. In sostanza, aiuta a garantire che più utenti possano accedere al database contemporaneamente senza causare conflitti.

Dove: WAL: Write-ahead Log; SHM: Shared Memory

https://sqlite.org/tempfiles.html


QGIS-it-user mailing list
QGIS-it-user@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/qgis-it-user