[Python] Consiglio su DB da usare in un progetto django.

Marco Giusti marco.giusti a gmail.com
Dom 6 Apr 2014 22:05:49 CEST


On Sun, Apr 06, 2014 at 09:08:27PM +0200, Gollum1 wrote:
> Presumo che in un progetto django il database sia residente sul server,
> anche se si usa SQLite?

Quale server? Il termine è un po' generico e non permette di darti una
risposta.

Sqlite è una libreria, questo vuol dire che per interrogare il database
non hai bisogno di instaurare una comunicazione col dbms ma effettui
delle chiamate a funzione. Questo vuol dire che, escluso casi
particolari, il database si trova nella stessa macchina dove gira il
tuo programma. Quando hai detto "server" l'ho subito associato alla
macchina dove gira il tuo programma (django?)

> Visto che per il mio progetto non devo memorizzare
> i dati che vado ad elaborare, per i singoli utenti, SQLite andrebbe
> benissimo, se fosse locale al computer ancora meglio... La mia intenzione
> sarebbe di creare il un DB all'apertura della sessione, solo per facilitare
> i calcoli, e poi distruggerlo al termine... Mentre sarebbe opportuno avere
> un DB SQLite in sola lettura per altri dati generici usati per i calcoli,
> comuni a tutti gli utenti.
> 
> Pensavo ai DB, invece di semplici file su testo formattati, perché dovrebbe
> essere più semplice l'estrazione del singolo dato dal file, voi che ne
> dite? È un modello che ha senso o mi vado a ficcare in qualche casino?

La cosa ha perfettamente senso e anzi, Sqlite ti permette di creare
facilmente un database che risiede completamente in memoria,
velocizzando le operazioni. Quando ti connetti al database, usa
":memory:" come parametro:

	sqlite3.connect(":memory:")

Io nella tua situazione non avrei dubbi.

Ciao
M.


Maggiori informazioni sulla lista Python