Como fazer o gerenciamento correto de memória com o ZODB?
Eu li vários tutoriais do ZODB, mas aqui está uma coisa que eu ainda não entendo: Como você libera a memória que já está serializada (e comprometida) para o (digamos) FileStorage?
Mais especificamente, eu quero que o seguinte código pare de comer toda a minha memória:
for i in xrange(bignumber):
iobtree[i]=Bigobject() # Bigobject is about 1Mb
if(i%10==0):
transaction.commit() # or savepoint(True)
transaction.commit()
Como isso pode ser alcançado? É possível liberar referências armazenadas pelo iobtree e substituí-las por 'referências fracas' que seriam acessíveis sob demanda?