[pyar] Me recomiendan un diccionario?

Ezequiel Brizuela [aka EHB or qlixed] qlixed en gmail.com
Jue Feb 27 22:09:55 ART 2014


Eso es indizar. No olap. Y es una excelente opcion si los datos son
pseudosecuenciales.
El feb 27, 2014 6:30 PM, "Angel Java Lopez" <ajlopez2000 en gmail.com>
escribió:

> Otra es ver si las claves/valor se pueden comprimir. Por ejemplo, en un
> caso tenia algo como
>
> Argentina:Leche:100
> Argentina:Carne:120
> ...
> Chile:Leche:100
> Chile:Carne:130
>
> y asi
>
> Una especie de OLAP en memoria. Pero lo almacenaba en memoria como:
>
> 1:1:100
> 1:2:100
> ...
> 2:1:100
> 2:2:100
>
> Primera dimension 1->Argentina, 2->Chile
> Segunda dimension 1->Leche, 2->Carne
> La tercera parte era el valor
>
> No se si tus claves/valores tendran una estructura que pueda optimizarse
> (digo, su uso de memoria)
>
>
>
>
> 2014-02-27 18:14 GMT-03:00 Mariano Mara <mariano.mara en gmail.com>:
>
>>
>>
>> On 27/02/14 17:52, Claudio Freire wrote:
>>
>>> 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.
>>>>
>>>
>>>
>>> bdb, fue diseñado exactamente para eso, mejor no hay
>>>
>>>
>> En esa misma línea Kyoto Cabinet (en su forma más simple instalando
>> libkyotocabinet-dev y yakc) debería ser una forma eficiente y simple de
>> hacer el trabajo.
>>
>> Estaría bueno hacer un benchmark entre varias soluciones y ver cual es la
>> mejor, me imagino que  podría ser útil a varios como material de referencia.
>>
>>
>>  Y está en la lib estándard
>>>
>>>
>> _______________________________________________
>> 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
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20140227/9a11a580/attachment-0001.html>


More information about the pyar mailing list