[Gfoss] Creare un Server GIS

a.furieri a lqt.it a.furieri a lqt.it
Mer 24 Giu 2015 13:22:58 CEST


On Wed, 24 Jun 2015 02:06:39 -0700 (MST), nformica wrote:
> ... beh, certo studiare i DB per averne più dimestichezza ti conviene 
> !
> In ogni caso, io per cose di una certa rilevanza e appunto quando 
> voglio
> lavorare in condivisione con altri, preferisco usare postGIS 
> piuttosto che
> SQLite per una questione di prestazioni.
>

Rino,

consentimi di dissentire :-)

fare riferimento alle prestazioni in questo contesto e' del tutto 
fuorviante;
non aiuta affato a capire meglio fornendo informazioni precise ed 
accurate,
serve solo ad aumentare ulteriormente la confusione.

nell'accezione piu' comune prestazioni intende efficienza e 
performances,
e quindi in ultima analisi e' un sinonimo di velocita' di elaborazione.
comparare oggettivamente le performances di due diversi DBMS e' sempre 
un
problema molto complesso e per nulla semplice, perche' dipende dalla 
specifica
natura del problema, da come sono scritte le query SQL, da come sono 
strutturati
fisicamente i dati, da quanto e' ottimizzata la configurazione di 
sistema
... e da un sacco di altri fattori variabili non certo facili da 
controllare
in modo rigorosamente oggettivo.
insomma, il rischio sempre in agguato e' quello di finire con la piu'
classica delle inutili comparazioni tra mele e pere.

quello che posso assicurarti e' che in giro per il mondo c'e un 
discreto
numero di power users che preferisce utilizzare proprio 
SQLite/SpatiaLite
piuttosto che PostgresSQL/PostGIS quando serve fare Spatial Processing
su grandi moli di dati complessi ... o sono pazzi, oppure significa che
le prestazioni sono almeno grossolamente comparabili, e forse in 
qualche
caso persino migliori.

quello che invece andrebbe sempre chiarito in modo cristallino e' che
si tratta di due DBMS basati su scelte architetturali completamente
divergenti e radicalmente alternative.

PostgreSQL/PostGIS e' interamente basato su un'architettura 
client/server;
quindi e' inevitabilmente pesante e complesso ma e' progettato apposta
per reggere un numero teoricamente illimitato di connessioni che 
operano
simultaneamente in stretto parallelismo.

SQLite/SpatiaLite e' l'esatto contrario; e' semplice e molto leggero,
ma il prezzo da pagare e' l'assoluta rinuncia a qualsiasi tipo di
accesso concorrente da parte di piu' utenti in parallelo.
piu' precisamente: funziona benissimo anche con tantissime connessioni
in parallelo ma solo se si tratta di connessioni in sola lettura.
quando oltre alla lettura dei dati e' richiesta anche la possibilita'
di inserire o aggiornare allora deve essere ben chiaro che SQLite
puo' supportare un'unica configurazioe: quella rigorosamnete 
mono-utente.

tirando le somme: alla luce delle consideraioni precedenti non e'
affatto difficle stabilire i criteri di scelta del DBMS "ottimale":

* serve assolutamente supportare una configurazione multi-utente ?
   se si, allora esiste un'unica opzione tecnicamente sensata:
   PostgreSQL/PostGIS

* basta una semplice configurazione mono-utente ?
   se si, allora la scelta preferibile e' sempre SQLite/SpatiaLite,
   perche' ha una soglia di complessita' molto minore e non fa
   rimpiangere nulla in termini di potenza ed efficienza.

* serve una configurazione multi-utente ma siamo assolutamente sicuri
   che verranno effettuate esclusivamente operazioni di sola lettura ?
   qua andrebbe sempre valutato oculatamente caso per caso facendo
   qualche test pratico sul campo.
   molto spesso si scoprira' che SQLite/SpatiaLite puo' essere la
   soluzione ottimale, ma non e' detto che lo sia sempre in tutti
   i contesti possibili e immaginabili.


> In ogni caso, anche se io non lo uso, puoi condividere il tuo DB 
> SQLite sul
> tuo PC, dandone accesso remoto agli altri via HTTP usando un 
> admin-tool come
> questo:
> https://code.google.com/p/phpliteadmin/
> ... e chiaro, ci devi smanettare un pò per imparare, ma non è tanto
> difficile !
>

personalmente sconsiglio caldamente l'uso di strumenti di questo tipo,
per un motivo banalmente semplice.
puoi anche sforzarti di montare una cabina ed un cassone su una
motocicletta cercando di farla assomigliare ad un camioncino;
magari puoi anche risucire a saldarci assieme un paio di ruote
extra, ma alla fine otterrai inevitabilmente un pessimo camioncino.
ma in compenso avrai sacrificato tutte le doti di agilita', di
scatto e di scioltezza che aveva inizialmente la motocicletta.
... non parrebbe un affare molto vantaggioso ;-)

ciao Sandro




Maggiori informazioni sulla lista Gfoss