Georeferencias: almacenamiento
Hoy he leido un thread interesante en python-es. Va sobre el almacenaciento de georeferencias en una BD.
Quien pregunta parece que de momento está usando
Berkeley BD. Comenta tb. que opción muy rapida de acceso es usar la estructura de directorios (aunque tiene sus desventajas). Por ejemplo para acceder a 1000, irias a 1/0/0/0.record (vamos como los indices de FAST).
En python se accede a dicha BD a través del módulo
bsddb. Los creadores de la BDB son
Sleepycat Software (adquiridos por Oracle).
Los difefentes métodos que acceso que soporta la BD son:
Otro producto que mencionan es
pytables. Adjunto un comentario de Francesc Altet (de
carabos, la empresa creadora):
"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 queocupen 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.htmlAunque, 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 ;-)"Y ya para acabar...
gadfly: que es una base de datos relacional implementada en python basada en SQL.
Concluyendo.... un thread de muy interesante lectura.
Actualización
Unos links:
Actualización 2El
thread ha continuado algo (los
archivos de la lista aquí).