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