Georeferencias: almacenamiento

Francesc Altet faltet en carabos.com
Jue Mar 2 12:01:30 CET 2006


A Dimecres 01 Març 2006 05:29, Sebastian Lezica va escriure:
>     Mis premisas eran las siguientes:
>     - Lo mas multiplataforma posible, si fuese puro Python mejor (el
> objetivo es ejecutarlo dentro de un hardware muy limitado en RAM y
> velocidad, con linux, y con una buena capacidad de almacenamiento).
>     - Una base de datos liviana y rápida, teniendo que cuenta que el
> acceso generalmente es solo lectura (mis pruebas las hice con Berkeley DB).
>     - El menor de uso en memoria posible, no me preocupa tanto el acceso
> al disco aunque si la velocidad final.
[...]
>     Alguna recomendación?. No he probado PyTables aún, es una opción
> válida?.

Pues aunque PyTables no es puro Python (si quieres velocidades altas
de I/O casi siempre has de ir a parar a hacer extensiones en C), si
que es multiplataforma (ha sido probado en Windows, MacOSX, GNU/Linux
FreeBSD y múltiples Unix más). El acceso a los datos se hace a
través de arboles binarios (a nivel de la libreria HDF5 de la cual
depende), con lo que el acceso a los registros es muy rápido.
Ademés, PyTables suporta indexación de columnas.

Respecto a la limitación en la cantidad de recursos usados, PyTables
está diseñado para trabajar perfectamente con tablas de más de mil
millones de filas en entornos de memoria realistas, así que con
tablas del orden de millones, no deberías de tener problemas.
Además, PyTables usa objetos numarray como contenedores de datos, con
lo que el consumo de memoria se hace óptimo, especialmente cuando
quieres mantener gran cantidad de información. Finalmente, PyTables
también soporta compresión de datos transparente, con lo que puedes
mantener tus bases de datos comprimidas y leerlas sin necesidad de que
ocupen más espacio del necesario.

Para ejemplos de cómo funciona PyTables te recomiendo que le eches un
vistazo a los tutoriales que vienen en la documentación:

http://pytables.sourceforge.net/html-doc/usersguide3.html

Aunque, naturalmente, lo mejor es que lo descargues y lo pruebes por
tí mismo. Así te aseguras de que no te están vendiendo la moto ;-)

Espero que sea de ayuda,

-- 
>0,0<   Francesc Altet     http://www.carabos.com/
V   V   Cárabos Coop. V.   Enjoy Data
 "-"




Más información sobre la lista de distribución Python-es