Clave: valor almacenado en Python para posiblemente 100 GB de datos, sin cliente / servidor [cerrado]
Hay muchas soluciones para serializar un diccionario pequeño:json.loads
/json.dumps
, pickle
, shelve
, ujson
o incluso usandosqlite
.
Pero cuando se trata de posiblemente 100 GB de datos, ya no es posible usar dichos módulos que posiblemente reescriban todos los datos al cerrar / serializar.
redis
en realidad no es una opción porque usa un esquema cliente / servidor.
Pregunta:¿Qué clave: almacén de valores, sin servidor, capaz de trabajar con más de 100 GB de datos, se usa con frecuencia en Python?
Estoy buscando una solución con un estándar "Pythonic"d[key] = value
sintaxis:
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 en desuso. Parece que hay unLevelDB para Python, pero no parece muy conocido, y yono he encontrado Una versión lista para usar en Windows. ¿Cuáles serían los más comunes?