
PostgreSQL: el gestor de bases de datos a fondo
Si, además de datos alfanuméricos (letras, cifras, caracteres especiales) también se procesan tipos de datos complejos o contenido multimedia, los gestores de bases de datos relacionales alcanzan sus límites pronto. Las bases de datos objeto-relacionales, en cambio, así como todos los gestores que amplían el modelo tradicional con paradigmas orientados a objetos, tienen la respuesta justa a esta problemática: el llamado mapeo objeto-relacional (object-relational mapping) permite a estas BD guardar objetos también en sistemas relacionales utilizando aplicaciones escritas en lenguajes de programación orientados a objetos. Una de las soluciones más veteranas en este campo y también de las más populares es la BD de código abierto PostgreSQL, también conocida como Postgres.¿Qué es PostgreSQL?
PostgreSQL carga a sus espaldas con más de 30 años de desarrollo. Este gestor de bases de datos objeto-relacionales (ORDBMS) tiene su origen en el proyecto POSTGRES de la Universidad de California en Berkeley, iniciado en 1986 bajo la dirección de Michael Stonebraker y que obtuvo financiación de la Agencia de Proyectos de Investigación Avanzados de Defensa (DARPA) y de la Fundación Nacional para la Ciencia (NSF), entre otros entes norteamericanos. En 1994 los estudiantes Andrew Yu y Jolly Chen ampliaron el código básico con un intérprete para SQL, publicándose esta nueva versión, de un 30 % a un 50 % más rápida, con el nombre de Postgres95 y como solución open source (con una licencia propia similar a BSD y MIT). Dos años más tarde, la aplicación para bases de datos obtiene con la versión 6.0 su nombre actual, PostgreSQL.
Postgres: datos clave y requisitos de sistema
La flexibilidad de PostgreSQL no solo se pone de relieve en el terreno de la funcionalidad y la capacidad para ampliarse y ajustarse, sino también en la instalación del software y el hardware. De hecho, Postgres está integrado en la mayoría de distribuciones UNIX/Linux y Apple lo incluye desde Mac OS X Lion (10.7) como la base de datos por defecto. La única condición es tener instalada una versión actual de gmake (3.80 o superior) –ya está incluida en los archivos binarios listos para descargar. Y con los paquetes de instalación pertinentes, también los sistemas operativos Windows son una opción. La potencia y el espacio necesarios dependen únicamente del tamaño del sistema de base de datos que se quiere instalar (nuestro software open source, por ejemplo, requiere solo unos escasos 20 MB).Como en la práctica es más probable verse limitado por la memoria disponible en el equipo que por el propio PostgreSQL, mostramos a continuación los datos más importantes sobre la base de datos objeto-relacional:
¿Cómo funciona PostgreSQL?
Postgres se basa en el clásico modelo cliente-servidor: el componente central que hace de servidor, con el nombre de “postmaster”, istra todos los archivos de la BD, así como todas las conexiones que se establecen con el servidor de la BD para las funciones de comunicación (input/output). Para establecer estas conexiones solo se necesita un programa-cliente, si bien el paquete de software de PostgreSQL ya integra de forma nativa el cliente psql para operarlo desde la terminal de líneas de comando. También podría optarse por una aplicación con interfaz gráfica de como pg o phpPg, fáciles de instalar y manejar. En las páginas web interactivas es el servidor web el que se encarga de hacer de cliente.¿En qué proyectos podría utilizarse a PostgreSQL?
Como sistema de gestión de bases de datos acreditado y extremadamente flexible, Postgres se utiliza en numerosos sectores y escenarios diferentes, erigiéndose como una base inmejorable para operar con seguridad las más diversas aplicaciones. Por ejemplo, gracias a su concepto de transacción integrado y su compatibilidad con MVCC (Multiversion concurrency control), el proyecto constituye una solución perfecta para el software de banca online. También los programas de análisis como Matlab o R armonizan con la base de datos, lo que hace que suelan utilizarse combinados. Complementado con la extensión PostGIS, que provee cientos de funciones para trabajar con datos geográficos, Postgres también saca buena nota en el trabajo con datos espaciales y geográficos.PostgreSQL también es popular como solución para proyectos web, funcionando con varios frameworks modernos como Django, Node.js o Ruby on Rails y soportando los lenguajes clásicos de programación, como PHP. Al soportar la replicación síncrona y asíncrona, los datos pueden distribuirse fácilmente en varios servidores con el fin de garantizar una elevada seguridad ante caídas y un tiempo de mínimo a los datos importantes.
Comentarios