Archivo del sitio

PostgreSQL

banner postgre

Reseña Histórica

postgresql 1IBM había estado trabajando desde 1973 con los primeros conceptos, ideas y teorías sobre bases de datos relacionales. Su proyecto “System R” fue entre otras cosas la primera implementación del lenguaje SQL (Structured Query Language). Por aquel entonces un profesor de la Universidad de Berkeley, Michael Stonebraker, leyó unos artículos publicados por IBM sobre “System R” que le hicieron interesarse en el tema. Utilizando el dinero de otro proyecto que ya tenía asignado, Ingres (INteractive Graphics REtrieval System), Stonebraker empezó a desarrollar sus ideas sobre bases de datos relacionales. A principio de los 80, Ingres estuvo compitiendo con Oracle por el liderazgo en el mundo de bases de datos relacionales y su código e implementación evolucionaron y fueron el origen de otras bases de datos relacionales, entre ellas podemos citar a Informix, NonStop SQL y Sybase.

En 1985, Michael Stonebraker lideró un nuevo proyecto llamado Postgres (después de Ingres) patrocinado por la Defense Advanced Research Projects Agency (DARPA), la Army Research Office (ARO), la National Science Foundation (NSF), y ESL, Inc. Con este proyecto y basándose en la experiencia obtenida con Ingres, Stonebraker tenía como meta mejorar lo que habían conseguido y aprendido en el desarrollo de Ingres. Y aunque se basó en muchas ideas de Ingres, no se basó en el código fuente del mismo.

En 1994, dos estudiantes de Berkeley, Andrew Yu y Jolly Chen, empezaron a trabajar con el código de Postgres (versión 4.2) y llamaron al proyecto Postgres95. Hicieron una limpieza general del código, arreglaron errores en el mismo, e implementaron otras mejoras En 1996, Andrew Yu y Jolly Chen ya no tenían tanto tiempo para dirigir y desarrollar Postgres95. Algunos de los usuarios habituales de las listas de correo del proyecto decidieron hacerse cargo del mismo y crearon el llamado “PostgreSQL Global Development Team”.

Características

  1. Implementación del estándar SQL92/SQL99.
  2. Soporta distintos tipos de datos: además del soporte para los tipos base, también soporta datos de tipo fecha, monetarios, elementos gráficos, datos sobre redes (MAC, IP), cadenas de bits, etc. También permite la creación de tipos propios.
  3. Incorpora una estructura de datos array.
  4. Incorpora funciones de diversa índole: manejo de fechas, geométricas, orientadas a operaciones con redes, etc.
  5. Permite la declaración de funciones propias, así como la definición de disparadores y Afirmaciones.
  6. Soporta el uso de índices, reglas y vistas.
  7. Incluye herencia entre tablas (aunque no entre objetos, ya que no existen), por lo que a este gestor de bases de datos se le incluye entre los gestores objeto- relacionales.
  8. Permite la gestión de diferentes usuarios, como también los permisos asignados.
  9. Seguridad en términos generales
  10. Integridad en BD: restricciones en el dominio
  11. Integridad referencial
  12. Autorizaciones
  13. Conexión a DBMS
  14. Transacciones y respaldos

postgresql 2En conclusión, PostGreSQL es un completo gestor de bases de datos, que posee prácticamente todas las características y comodidades que ofrecen gestores comerciales de alto nivel, haciendo de él una muy buena alternativa GPL. A pesar de ello, la curva de aprendizaje del mismo puede ser compleja, ya que la sintaxis de algunos de sus comandos no es nada intuitiva, aunado a esto no existen muchas herramientas graficas cómodas GPL (PgAdmin3, PhpPgadmin, PgAccess y Psql). También resulta difícil las pequeñas variaciones que presenta este gestor en algunos de los tipos de datos que maneja, siendo el problema más comentado el referente al tipo “serial”. Cabe destacar que el desarrollo de complementos como PostGIS (extensión que añade soporte de objetos geográficos a PostgreSQL), así como PgCluster, Slony-I, PyReplica(Herramientas de Replicación) le dan a este gestor características de “Grandes Ligas”. Una vez nos hayamos hecho con su sintaxis y fijándonos en estos pequeños detalles (que por otro lado están totalmente documentados), PostGreSQL es un gestor magnífico, completo, estable y altamente recomendado que posee una gran escalabilidad, haciéndolo idóneo para su uso en proyectos que posean alrededor de 500.000 peticiones por día.

postgresql-banner


Referencias

PostgreSQL [Homepage]. Consultado el día 25 de Octubre de 2013 de la WWW:

Tarjeta Morillo Nixon

Banner De todo un Poco (1) 600 px

SMDB: Introducción

banner portada

¿Qué es un Sistema Manejador de Bases de Datos?

Cada vez que escucho hablar de Bases de Datos, no puedo dejar de recordar a los libros de C.J. Date, que se consideran aún hoy en día como la “Biblia” de la Base de Datos, que ya va por la 7ª edición.

Un Sistema de Bases de Datos es “un sistema computarizado cuyo propósito general es mantener información y hacer que esté disponible cuando se solicite” (Date, 2011).

Entre las ventajas que se obtienen al usar un enfoque de Bases de Datos, se presentan las siguientes (Idem):

  • Es posible disminuir la redundancia
  • Es posible disminuir la inconsistencia
  • Es posible compartir los datos
  • Es posible hacer cumplir las normas
  • Es posible aplicar restricciones de seguridad
  • Es posible mantener la integridad
  • Es posible equilibrar requerimientos opuestos

Ahora bien, un Sistema de Gestión de Bases de Datos (SGBD) o Sistema Manejador de Bases de Datos (SMBD) es un conjunto de programas que permiten el almacenamiento, modificación y extracción de la información en una base de datos, además de proporcionar herramientas para añadir, borrar, modificar y analizar los datos (Wikipedia)

Normalmente hoy en día, la gran mayoría (por no decir todos) de los SMBD en el mercado están basados en SQL (Structured Query Language o Lenguaje de Consultado Estructurado). El SQL permite hacer consultas y generar informes de las Bases de Datos. La característica principal es que se usa para el manejo de Bases de Datos Relacionales, mediante el álgebra y el cálculo relacional. El modelo relacional fue presentado por primera vez por E.F Codd en 1970.

Los Sistemas Manejadores de Base de Datos más usados en la actualidad son:

  • dB2
  • Informix
  • Max DB
  • My SQL
  • Oracle DB
  • PostgreSQL
  • SQL Server

Veamos a continuación una breve reseña de cada SMBD o DBMS.

Cinta SMBD


Referencias

Castellanos Luis

Banner De todo un Poco (1) 600 px

A <span>%d</span> blogueros les gusta esto: