6

PostgreSQL: qué es, cómo funciona y cuáles son sus ventajas

2004Puntos

hace 6 años

Curso de PostgreSQL
Curso de PostgreSQL

Curso de PostgreSQL

PostgreSQL es el motor de bases de datos Open Source más conocido y usado en el mundo. Construye relaciones e interacciones entre diferentes bases de datos. Aprovecha las funcionalidades de seguridad, concurrencia y redimiento. Maneja altos volúmenes de información y administra tus propias bases de datos.

PostgreSQL, o también conocido como Postgres, es un sistema de gestión de bases de datos relacionales (RDBMS) libre y de código abierto (Open Source) que hace énfasis en la extensibilidad y el cumplimiento de SQL.

Es gratuito y libre, además de que hoy nos ofrece una gran cantidad de opciones avanzadas. De hecho, es considerado el motor de base de datos más avanzado en la actualidad. (Y Platzi tiene un Curso de PostgreSQL).

Banner postgresql.png

Una característica interesante de PostgreSQL es el control de concurrencias multiversión; o MVCC por sus siglas en inglés. Este método agrega una imagen del estado de la base de datos a cada transacción. Esto nos permite hacer transacciones eventualmente consistentes, ofreciéndonos grandes ventajas en el rendimiento.

Origen de PostgreSQL

PostgreSQL es una de las opciones más interesantes en bases de datos relacionales open-source. Michael Stonebraker inició el proyecto bajo el nombre Post Ingres a mediados de los 80’s con la idea de solucionar problemas existentes en las bases de datos en esa época.

Originalmente se llamaba POSTGRES, en referencia a sus orígenes como sucesor de la base de datos Ingres desarrollada en la Universidad de California, Berkeley. En 1996, el proyecto pasó a llamarse PostgreSQL para reflejar su compatibilidad con SQL. Tras una revisión en 2007, el equipo de desarrollo decidió mantener el nombre PostgreSQL y el alias Postgres. MySQL fue por mucho tiempo el motor más popular entre los desarrolladores; pero hoy es propiedad de Oracle y esto limita en gran medida su evolución.

Ventajas de PostgreSQL

En Postgres no se requiere usar bloqueos de lectura al realizar una transacción lo que nos brinda una mayor escalabilidad. También PostgreSQL tiene Hot-Standby. Este permite que los clientes hagan búsquedas (sólo de lectura) en los servidores mientras están en modo de recuperación o espera. Así podemos hacer tareas de mantenimiento o recuperación sin bloquear completamente el sistema.

PostgreSQL aporta mucha flexibilidad a nuestros proyectos. Por ejemplo, nos permite definir funciones personalizadas por medio de varios lenguajes. Algunos son:

  • PL/pgSQL
  • PL/Tcl
  • PL/Perl
  • PL/Python
  • PL/PHP
  • PL/Ruby
  • PL/Java

Otra ventaja de PostgreSQL es que está disponible para muchas plataformas y ofrece el código fuente desde el sitio oficial.  Algunos de los builds oficiales son:

Herramientas de PostgreSQL

pgAdmin

pgAdmin es la herramienta oficial para administrar nuestras bases de datos en PostgreSQL. Nos permite desde hacer búsquedas SQL hasta desarrollar toda nuestra base de datos de forma muy fácil e intuitiva; directamente desde la interfaz gráfica.

pgAdmin

Una herramienta muy útil de pgAdmin es el Query Tool. Este te permite ejecutar comandos SQL y además nos da la opción de analizar nuestra base de datos de forma gráfica.

queryTool

Con pgAdmin crear una nueva base de datos es muy sencillo. Sólo seleccionas la opción New Database en la lista de bases de datos en el Object Browser y defines sus propiedades rellenando los campos correspondientes.

new db

Si lo deseas, puedes ver las configuraciones ya codificadas en SQL; utilizando la opción de agregar detalles de forma manual. Esto permite que tanto principiantes como expertos se sientan cómodos con el sistema.

new db sql

Puedes crear respaldos, restaurar la base de datos o ejecutar tareas de mantenimiento de forma muy sencilla desde pgAdmin y, gracias a Hot-Standby, tus usuarios podrán seguir accediendo a los datos (en modo de lectura) durante el proceso.

maintenance

dBeaver

dbeaver tool GUI.png

dBeaver es una importante herramienta GUI multiplataforma para PostgreSQL que goza de gran popularidad entre tanto desarrolladores como administradores de bases de datos. DBeaver no es una herramienta GUI nativa para PostgreSQL, ya que soporta todas las bases de datos populares como MySQL, MariaDB, Sybase, SQLite, Oracle, SQL Server, DB2, MS Access, Firebird, Teradata, Apache Hive, Phoenix, Presto y Derby - cualquier base de datos que tenga un controlador JDBC (son más de 80 bases de datos).

PostgreSQL te permite desarrollar bases de datos relacionales robustas y eficientes.

Platzi tiene un Curso de PostgreSQL donde aprenderás todos los secretos de esta tecnología. Mientras tanto, no te pierdas los próximos artículos y tutoriales para que estés preparado y aproveches al máximo el curso.

Curso de PostgreSQL
Curso de PostgreSQL

Curso de PostgreSQL

PostgreSQL es el motor de bases de datos Open Source más conocido y usado en el mundo. Construye relaciones e interacciones entre diferentes bases de datos. Aprovecha las funcionalidades de seguridad, concurrencia y redimiento. Maneja altos volúmenes de información y administra tus propias bases de datos.
Cesar
Cesar
reicek

2004Puntos

hace 6 años

Todas sus entradas
Escribe tu comentario
+ 2
3

Hola!

Cuando mencionas “De hecho, es considerado el motor de base de datos más avanzado en la actualidad”, posiblemente sea en cuanto a herramientas Open Source.

No hay motor de base de datos más avanzado que Oracle! Costoso? Demasiado… Aplica para Big Data? Así es!.. Pero no hace un uso de RAM como SAP-Hana! Por supuesto que si!

No soy empleado de Oracle, pero es la realidad. Oracle se los lleva a todos por mucho.

Igual pienso tomar el curso de PostgreSQL hahaha Saludos!

2
4112Puntos
un año

Hola Alejandro , para tu información estoy de acuerdo con Platzi al mencionar que Postgresql es considerado el motor de base de datos más avanzado en la actualidad, he trabajado con bases de datos Oracle por 9 años y he trabajado con Base de datos Postgresql por 4 años y déjame decirte que postgresql ha sido pionero en muchas funcionalidades que tiene Oracle hoy en dia. Actualmente Postgresql tiene parámetros en procedimientos almacenados como JSON, Oracle no lo tiene. sin comentar sobre los autoincrementales que oracle saco en la version 12c llamados identity, Postgresql ya los tenia hace mas de 8 años. Me fascina trabajar con bases de datos Oracle pero acepto que postgresql esta mas enfocado al futuro y tiene mejores funcionalidades que las que tiene Oracle.