[Python] django e strutture dati permanenti

Riccardo Lemmi riccardo a reflab.com
Gio 11 Ott 2012 09:28:39 CEST


Balan Victor wrote:

> idee? :)
> 
> 
> Il giorno 10 ottobre 2012 14:01, Balan Victor
> <balan.victor0 a gmail.com> ha scritto:
> 
>> quello che devo fare č questo:
>> in fase di inizializzazione devo caricare in memoria un
>> grafo(networkx) di dimensioni consistenti: 60.000 nodi e pių di
>> 100.000 connessioni. PER ADESSO dovrebbe essere in sola lettura e se
>> devo fare delle modifiche posso permettermi di stoppare tutto, fare
>> le modifiche e rilanciare l'applicazione.
>> Poi in base alle richieste che vengono effettuate devo andare a
>> leggere le informazioni che mi servono dal grafo, elaborarle e
>> restituirle all'utente.
>> ...

Non sarebbe meglio fare il pickle della struttura dati creata in memoria 
da networkx invece di ricreare il grafo ogni volta dal DB? 

Ovviamente perchč sia fattibile bisogna controllare che gli oggetti di 
NetworkX siano effettivamente serializzabili, inoltre tenere allineati 
il DB e il grafo richiede sicuramente del codice specifico per evitare 
di buttare via tutto e ricreare da 0 ogni volta che cambia qualcosa.

Potrei anche arrivare a suggerire di provare a derivare (o patchare) le 
classi di NetworxX da Persistent dello ZODB per semplificare la 
serializzazione ed eliminare il DB relazionale... 
-- 
                                       Riccardo Lemmi



Maggiori informazioni sulla lista Python