[Python] Consiglio su DB da usare in un progetto django.
Presumo che in un progetto django il database sia residente sul server, anche se si usa SQLite? 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? byez -- Gollum1 ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Consiglio su DB da usare in un progetto django.
On 2014-04-06 20:08, Gollum1 wrote: Presumo che in un progetto django il database sia residente sul server, anche se si usa SQLite? 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? Tutto è possibile, ma creare e distruggere un database per sessione non è la cosa più comune, per non parlare del fatto che django non ti consente di connetterti ad un numero arbitrario di database (uno per sessione) ma solo ad un numero prefissato in configurazione. Secondo me o usi file temporanei o usi un database come si deve: per le mezze misure non hai infrastruttura di supporto. -- Daniele ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Consiglio su DB da usare in un progetto django.
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. ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Consiglio su DB da usare in un progetto django.
Il 06/apr/2014 21:54 Daniele Varrazzo p...@develer.com ha scritto: On 2014-04-06 20:08, Gollum1 wrote: Presumo che in un progetto django il database sia residente sul server, anche se si usa SQLite? 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? Tutto è possibile, ma creare e distruggere un database per sessione non è la cosa più comune, per non parlare del fatto che django non ti consente di connetterti ad un numero arbitrario di database (uno per sessione) ma solo ad un numero prefissato in configurazione. Secondo me o usi file temporanei o usi un database come si deve: per le mezze misure non hai infrastruttura di supporto. Ok... Allora è da escludere SQLite, per via della concorrenza... Un unico DB in cui metto i dati ad uso generico e delle tabelle ad hoc in cui registro i dati di sessione che poi cancello alla fine della sessione stessa... Magari devo prevedere un garbage collector per la pulizia di eventuali sessioni chiuse impropriamente. byez -- Gollum1 ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Consiglio su DB da usare in un progetto django.
On 04/06/2014 10:09 PM, Gollum1 wrote: Ok... Allora è da escludere SQLite, per via della concorrenza... Un unico DB in cui metto i dati ad uso generico e delle tabelle ad hoc in cui registro i dati di sessione che poi cancello alla fine della sessione stessa... Se escludi SQLite, dai un'occhiata a Firebird. Sicuramente e` molto di piu` di quello che ti serve, ma ha il vantaggio di occupare meno risorse rispetto a PostgreSQL o a MySQL Magari devo prevedere un garbage collector per la pulizia di eventuali sessioni chiuse impropriamente Firebird supporta le global temporary tables, che sembrerebbero ottime per il tuo caso: http://www.firebirdsql.org/refdocs/langrefupd25-ddl-table.html Enrico ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python