[pyar] Me recomiendan un diccionario?

Angel Java Lopez ajlopez2000 en gmail.com
Jue Feb 27 18:09:59 ART 2014


Cual es el caso de uso de las consultas? Luego de hacer una consulta, que
haces con el resultado?

Porque si estas limitado de memoria, podrias cargar medio diccionario,
hacer TODAS las consultas, luego terminar, arrancar de nuevo, cargar el
otro medio diccionario, y hacer TODAS las consultas. Pero no sabiendo el
caso de uso de que hacer con el resultado, no sabria decirte si te conviene
o no

O no podes tmb particionar las consultas? Cargar medio diccionario, y saber
de antemano cuales son las consultas que van contra esa parte del
diccionario?



2014-02-27 18:05 GMT-03:00 Gustavo Campanelli <gedece en gmail.com>:

>
>
> 2014-02-27 17:58 GMT-03:00 Daniel Moisset <dmoisset en machinalis.com>:
>
> sqlite en memorio baja algo temporal a disco? no quiero algo que trate de
>> hacer un malloc() gigante, porque esto puede llegar a correr en un equipo
>> con poca RAM o 32 bits
>>
>>
>> 2014-02-27 17:49 GMT-03:00 Gustavo Campanelli <gedece en gmail.com>:
>>
>>>
>>>
>>> 2014-02-27 17:46 GMT-03:00 Daniel Moisset <dmoisset en machinalis.com>:
>>>
>>>> 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é]
>>>>
>>>> Gracias,
>>>>     D.
>>>>
>>>>
>>>> _______________________________________________
>>>> pyar mailing list pyar en python.org.ar
>>>> http://listas.python.org.ar/listinfo/pyar
>>>>
>>>> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>>>>
>>>> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
>>>> Argentina - http://www.usla.org.ar
>>>>
>>>
>>>
>>> Yo usaría Sqlite en memoria.
>>>
>>> Gedece
>>>
>>> _______________________________________________
>>> pyar mailing list pyar en python.org.ar
>>> http://listas.python.org.ar/listinfo/pyar
>>>
>>> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>>>
>>> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
>>> Argentina - http://www.usla.org.ar
>>>
>>
>>
>> _______________________________________________
>> pyar mailing list pyar en python.org.ar
>> http://listas.python.org.ar/listinfo/pyar
>>
>> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>>
>> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
>> Argentina - http://www.usla.org.ar
>>
>
> Sqlite en memoria usa page caching, o sea que va a usar tanta memoria como
> pueda y mandar el resto a disco según séa necesario. Pero con memoria
> limitada cualquier implementación va a bajar datos a disco.
>
> Gedece
>
> _______________________________________________
> pyar mailing list pyar en python.org.ar
> http://listas.python.org.ar/listinfo/pyar
>
> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>
> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
> Argentina - http://www.usla.org.ar
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20140227/bfde14b9/attachment-0001.html>


More information about the pyar mailing list