Armazene muitos dados dentro do python

alvez eu comece com uma pequena introdução ao meu problema. Estou escrevendo um programa python que será usado para pós-processamento de diferentes simulações físicas. Toda simulação pode criar até 100 GB de saída. Trato de informações diferentes (como posições, campos e densidades, ...) para diferentes etapas do tempo. Eu gostaria de ter acesso a todos esses dados de uma só vez, o que não é possível porque não tenho memória suficiente no meu sistema. Normalmente, eu uso o arquivo de leitura e, em seguida, faço algumas operações e limpo a memória. Depois, leio outros dados, faço algumas operações e limpo a memória.

Agora meu problema. Se eu fizer dessa maneira, passo muito tempo lendo os dados mais de uma vez. Isso leva muito tempo. Gostaria de lê-lo apenas uma vez e armazená-lo para facilitar o acesso. Você conhece um método para armazenar muitos dados que são realmente rápidos ou que não precisam de muito espaço.

Acabei de criar um método que é cerca de dez vezes mais rápido que uma leitura aberta normal. Mas eu usocat (comando linux) para isso. É um método muito sujo e eu gostaria de expulsá-lo do meu script.

É possível usar bancos de dados para armazenar esses dados e obtê-los mais rapidamente do que a leitura normal? (desculpe-me por esta pergunta, mas não sou cientista da computação e não tenho muito conhecimento por trás de bancos de dados).

EDITAR

Meu código-gato se parece com isso - apenas um exemplo:

out = string.split(os.popen("cat "+base+"phs/phs01_00023_"+time).read())
# and if I want to have this data as arrays then I normally use and reshape (if I
# need it)
out = array(out)
out = reshape(out)

Normalmente eu usaria um método numpynumpy.loadtxt que precisam do mesmo tempo que a leitura normal.

f = open('filename')
f.read()
...

Eu penso issoloadtxt basta usar os métodos normais com algumas linhas de código adicionai

Eu sei que existem algumas maneiras melhores de ler dados. Mas tudo o que encontrei foi muito lento. Agora vou tentarmmap e espero ter um desempenho melhor.

questionAnswers(3)

yourAnswerToTheQuestion