Chave: armazenamento de valor em Python para possivelmente 100 GB de dados, sem cliente / servidor [fechado]
Existem muitas soluções para serializar um pequeno dicionário:json.loads
/json.dumps
, pickle
, shelve
, ujson
ou mesmo usandosqlite
.
Porém, ao lidar com possivelmente 100 GB de dados, não é mais possível usar esses módulos que possivelmente reescreveriam todos os dados ao fechar / serializar.
redis
não é realmente uma opção porque usa um esquema de cliente / servidor.
Pergunta, questão:Qual chave: armazenamento de valor, sem servidor, capaz de trabalhar com mais de 100 GB de dados, é frequentemente usado no Python?
Estou procurando uma solução com um padrão "Pythonic"d[key] = value
sintaxe:
import mydb
d = mydb.mydb('myfile.db')
d['hello'] = 17 # able to use string or int or float as key
d[183] = [12, 14, 24] # able to store lists as values (will probably internally jsonify it?)
d.flush() # easy to flush on disk
Nota:BsdDB (BerkeleyDB) parece estar obsoleto. Parece haver umLevelDB para Python, mas não parece bem conhecido - e eunão encontrei uma versão pronta para uso no Windows. Quais seriam os mais comuns?