[pyar] Me recomiendan un diccionario?

Julian Agustin Cardonnet jcardonnet en gmail.com
Jue Feb 27 18:52:52 ART 2014


El 27 de febrero de 2014, 17:46, Daniel Moisset
<dmoisset en machinalis.com>escribió:

> Hola,
>    ando necesitando algo que, por un ratito me guarde varias asignaciones
> clave valor y despues poder consultarlo por clave, para obtener el valor
> asociado.
>
> O sea, necesito un dict().
>
> Mi problema es que:
>  - tengo que guardar >40 millones de asociaciones, donde cadena+valor son
> en promedio 50 bytes de utf8
>  - tengo que hacer ~20 millones de consultas
>
> Con lo cual un dict() me anda en una maquina con de 64-bits con buena RAM,
> y prefiría que los requerimientos sean un poco mas modestos
>
> Mi patron de uso es bien simplon. Primero genero todos los datos y los
> cargo, despues hago todas las consultas, despues tiro el "diccionario" a la
> basura (no me interesa persistirlo ni nada).
>
> Se me ocurren infinitas (muchas) formas de hacerlo. Puedo usar un sqlite,
> un mongo, una berkeleydb, y muchas mas. La pregunta es:
>
> ¿que usarian ustedes que tenga una buena combinación de performance y
> simpleza? [dentro del use-case que mencioné]
>

Algo que no aclaras es si necesitas acceso concurrente a key/value store.
Si es asi (corrijanme si mando fruta) con BDs serverless al estilo SQLite
vas a tener problemas (no se con DBD).
En ese caso podes probar con Kyoto Cabinet [1] para la DB y meterle Kyoto
Tycoon como server para manejar el acceso concurrente.
Este es el chivo de la pagina:
"Kyoto Cabinet runs very fast. For example, elapsed time to store one
million records is 0.9 seconds for hash database, and 1.1 seconds for B+
tree database. Moreover, the size of database is very small. For example,
overhead for a record is 16 bytes for hash database, and 4 bytes for B+
tree database. Furthermore, scalability of Kyoto Cabinet is great. The
database size can be up to 8EB (9.22e18 bytes)."

[1] http://fallabs.com/kyotocabinet/

Saludos,
Julian
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20140227/b62050a5/attachment-0001.html>


More information about the pyar mailing list