PostgreSQL

Recientemente he tenido que ayudar a una amiga a tratar algo más de 5 millones de registros de 1000 caracteres cada uno para producir diversas salidas a petición. Para ello necesitaba una base de datos de cierta potencia, que pudiera usar de forma temporal. Y ese era el problema, que no había un acceso sencillo a usar Oracle o SQL Server, al menos un acceso exento de burocracia. El tema corría cierta prisa, y hasta ahora estaban intentando tratar esos registros poco a poco en el Excel, con más o menos éxito y con mucho trabajo.

Para solucionar el problema decidí usar PostgreSQL, una base de datos muy potente de fuentes abiertas, que puedes descargarte e instalar sin problemas ni pagar licencia, y que cumple todas las especificaciones que se necesitan en este caso.


PostgreSQL se tragó los 80 ficheros sin problemas a una tabla de trabajo (alrededor de 5.200.000 registros) en pocos segundos, y luego me permitió programar una función que se los recorriera para generar las tablas de salida que necesitaba. No conocía las especificaciones del lenguaje de procedimientos de esta base de datos, pero si tengo amplia experiencia en Oracle y SQL Server, y PostgreSQL no tiene nada que envidiar a ambas, líderes en el mercado. Incluso puedes programas sus funciones en otros lenguajes, como Java, Python o C. Se instala muy fácilmente, y la ayuda, tanto en forma de manuales, como en foros y wikis es muy completa. En poco tiempo pude aprender y realizar el programa necesario, en las propias herramientas que incluía el software.

Pantallas de trabajo de pgAdminIII, el software de administración que viene por defecto.
PostgreSQL va más allá, mucho más, y lidera aspectos donde otros están empezando a meterse, como la orientación a objetos en el almacenamiento y tratamiento de los datos. Con este pequeño trabajo, sólo he arañado la superficie de este gran software. Así por ejemplo, he observado que los recursos que consume son muy escasos, adaptándose al medio con suma facilidad. Tras ejecutar todo el proceso en escasos minutos en mi portátil con un Intel core i3 y 4GB de RAM (manteniendo en todo momento su operatividad, al consumir pocos recursos), realicé la misma operación sobre un Linux medio abandonado que tengo en un rincón de hace 5 años con un pentium a 3.2 y 1GB de RAM, y no se amilanó, tardando el doble debido a la lentitud del procesador y a la escasez de memoria, pero resolviendo el problema... Y en ese equipo no puedo instalar una versión de Oracle que me permita hacer lo que necesito...

En fin, que lo recomiendo, y no sólo para aplicaciones puntuales como la que he desarrollado, porque se trata de un sistema veterano, que ya va por su versión 9, y que muchos califican como la base de datos revolucionaria en el mundo del Software de Fuentes Abiertas, capaz de hacer frente a los grandes, pero sin pagar.

Enlaces:
  - PostgreSQL: http://www.postgresql.org/
  - En la Web puedes encontrar libros buenos en Inglés. En español es algo más complicado, pero puedes empezar descargándote este curso de bases de datos libres de la UOC, con un capítulo dedicado al PostgreSQL.
  - La página de PostgreSQL en español http://www.postgresql.org.es