Como armazenar dados processados?

4

Estou trabalhando em um projeto envolvendo dados do Twitter. Eu tenho centenas de milhares de tweets baixados e armazenados em arquivos. Os dados foram retornados no formato json, e o consumidor de fluxo que eu estava usando converteu-os em dicionários python, então eu é tudo armazenado em arquivos de texto, um tweet por linha, como dicionários python.

Existe muita informação estranha, então eu tenho um script python que lê cada linha como um dict e extrai algumas informações úteis. Qual seria a melhor maneira de armazenar esses dados agora que foram extraídos? Eu estava imprimindo de volta para arquivos csv, mas eu tenho tido alguns problemas com isso e me deparei com algumas pessoas que parecem sentir que essa não é a melhor maneira de armazená-lo.

Qual seria o modo mais eficaz de armazenar esses dados? Vou precisar acessá-lo para encontrar padrões, combinar itens semelhantes, etc. Eu estava pensando em usar um banco de dados - essa é a melhor opção? Existem outros que são melhores?

    
por bsg 07.03.2013 / 00:27

1 resposta

2

Se apenas o seu par de chaves é armazenado, aparentemente os bancos de dados nosql style funcionam bem - o Twitter os usa, e eles podem ser um ótimo ajuste se você precisar lidar com um lote de dados com muito pouca estrutura. Você provavelmente poderia usar um rdbms tradicional, ou talvez um sqlite db se houver mais de um armazenamento de par de chaves simples e tiver dados estruturados com relações.

Também pode ajudar a entender a fraqueza de um armazenamento de arquivo simples (sem criação de log de transações ou estrutura), nosql (sem ACID ) e um db tradicional (volumoso, menos escalável mas bem compreendido e frequentemente razoavelmente rápido). Com um pequeno conjunto de dados não atualizados, qualquer um deles deve funcionar

    
por 07.03.2013 / 02:02