PyTables

Francesc Alted falted en pytables.org
Dom Jul 6 12:29:41 CEST 2008


A Saturday 05 July 2008, Jordi Funollet escrigué:
> Mario Lacunza dixit:
> > Holas,
> >
> > Alguien a usado esta libreria? [1] q tan rapida es? q volumen de
> > datos puede manejar??
> >
> >
> >
> > [1] http://www.pytables.org/moin
>
> "Alguien" de la lista python-es está haciendo algo más que usar la
> libreria. ;-)
>
>   "PyTables is developed, maintained and supported
>    by Francesc Altet, [...]"

Pues si, me temo que ese soy yo ;-)

Bueno, pues respecto a las preguntas originales, decir que PyTables 
intenta ser lo más rápido posible (vaya novedad!).  Sin embargo, al 
revés que otras BBDD conocidas, PyTables hace ésto pensando en Python 
como lenguaje de uso principal (la mayoria están pensadas para ser 
rápidas en uso desde C).  PyTables se basa en el formato/libreria HDF5 
(hecha en C y pensada para gestión de catidades de datos extremadamente 
grandes) y NumPy, una libreria Python que pone a disposición del 
usuario unos contenedores de datos muy eficientes.  Digamos que, en mi 
opinión, la 'virtud' de PyTables reside en conjuntar el rápido acceso a 
la información en disco de HDF5, con los contenedores de datos de NumPy 
para lograr velocidades de escritura y lectura muy altas, sobretodo 
cuando se manejan cantidades de datos muy grandes (típicamente, mayor 
que la cantidad de memoria principal del sistema).  El hecho que se 
soporte la compresión de datos de forma nativa ayuda mucho a conseguir 
estas altas prestaciones (ya sabeis que la distancia entre el acceso a 
disco y la velocidad de la CPU, y con ello la velocidad de 
descompressión, está aumentando constantemente).

Sin embargo, hay que decir que hay que pagar un precio por acceder a 
esta optimización en velocidad, y es que PyTables no trae de serie 
ninguna capacidad de corrección de errores, integridad referencial u 
otras características de seguridad típicas en BBDD relacionales (por 
cierto, PyTables tampoco es relacional).  Aún así, hay un campo 
bastante grande de aplicabilidad para PyTables, sobretodo en aquellos 
entornos donde se tengan que tratar cantidades immensas de datos cuya 
fiabilidad no sea crítica (por ejemplo, no es apto para gestión de 
cuentas bancarias).  Como ejemplo, PyTables es ideal para la gestión de 
logs, datos procedentes de satélite, de sensores empresariales, de 
entornos financieros, etc...

Bueno, y voy a parar por que se nota demasiado que es mi 'criatura' ;-)  
Si alguien tiene preguntas adicionales las puede hacer en esta misma 
lista, pues la consulto con cierta frecuencia.

Saludos,

-- 
Francesc Alted
_______________________________________________
Lista de correo Python-es 
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes





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