Tech Academy > Webinars > Gestores Bases de Datos: introducción y comparativa: MySQL, PostgreSQL, SQLite y MariaDB

Gestores de Bases de Datos: MySQL, PostgreSQL, SQLite y MariaDB ¿Cuál elegimos?

Descubre los sistemas gestores de Bases de Datos open source más populares cómo SQLite, MySQL MariaDB, y PostgreSQL. Te mostramos cuando usar cada uno de ellos y te damos algunos consejos sobre cómo sacar el máximo partido a estas herramientas.

06-04-2020
01:16:18

Conoce los motivos por los que podrías decantarte por uno u otro motor de las bases de datos (SGBD) más populares de código abierto, como son MySQL, MariaDB y PostgreSQL. Así, podrás entender cuál podría ser el más adecuado para cada uno de tus proyectos online.

¿Qué son los SGBD: sistemas de gestion de bases de datos?

Los gestores de bases e datos se tratan de los gestores de sotware consituidos por varios programas que se encargan de crear, gestionar o administrar la información que se encuentra en una base de datos. En otras palabras, lo que hacen los motores de bases de datos son ser la interfaz entre los usarios y las aplicaciones. De esta forma, se consiguen que los datos cuenten con una mayor calidad, garantizando su fiabilidad y organización.

Tipos de gestores de bases de datos

Dentro de todo el conjunto de bases de datos nos encontramos con varios tipos. En la actualidad nos encontramos con :

  • Relacionales: son aquellas en las que existen tablas y las tablas se relacionan unas con otras ya que cuentan con información común.
  • No relacionales o dumentales: en las cuales se guardan colecciones en las que hay documentos que no tienen porque guardar relación entre sí.

Criterios para elegir entre las alternativas de motores de bases de datos

Podríamos plantearnos diversos criterios a la hora de elegir una de las diversas alternativas de motores de bases de datos del mercado open source, como el tamaño del proyecto, la disponibilidad, la comunidad que hay detrás o la licencia con la que se ofrecen.

Si bien es cierto que en muchos de los casos la elección ni siquiera es competencia nuestra, puesto que es posible que venga dada por ciertos requisitos de un proyecto como las preferencias de la empresa o experiencia de sus desarrolladores o administradores, vamos a ofrecer algunas de las claves por las que decantarnos por uno u otro sistema.

Cuándo elegir SQLite

La base de datos SQLite es la más usada e instalada de mundo y se trata de un sistema gestor de base de datos escrito en C que requiere recursos mínimos para funcionar. Su código ocupa menos de 300 KB, por lo que se encuentra presente en multitud de software como navegadores, aplicaciones móviles, televisiones, PHP, Python...

SQLite no necesida nada para funcionar, pues no es necesario instalar programas adicionales, motores de bases de datos ni librerías en muchos casos. Almacena la información dentro del sistema de archivos.

Por sus características, la usaremos cuando no tenemos posibilidad de usar otra base de datos más avanzada y siempre que tengamos pocas necesidades de volumen y funcionaliad. Es decir, al ser una base de datos serverless si no tienes un ningún servidor de base de datos, si estás en un alojamiento que no me da base de datos o necesitas algo rápido ligero nohace falta más.

Cuándo elegir MySQL

El MySQL es un sistema muy popular de bases de datos, propiedad de Oracle, el más usado a nivel global. Comenzó con un conjunto de funcionalidades más bien reducidas, pero que a día de hoy lo podemos considerar de grado empresarial.

El primer aspecto por el que MySQL es la elección más común es porque es prácticamente un estándar en la mayoría de las configuraciones de servidores. Debemos tener en cuenta que, en alojamientos compartidos, MySQL suele ser la base de datos que nos ofrecen, por lo que no se tiene mucha maniobra para escoger

Nota: Sin embargo, lo cierto es que actualmente contar con un servidor VPS o Cloud es muy económico y en esa modalidad de alojamiento es perfectamente posible elegir cualquier sistema que necesitemos.

De todos modos, impuesta o no, MySQL es una buena elección en términos de potencia y funcionalidades. Ofrece todas las capacidades que los proyectos más comunes puedan necesitar, aunque sobre todo es adecuada para proyectos pequeños y medianos.

Cuándo elegir MariaDB

MariaDB es un SGBD completamente compatible con MySQL creado por la comunidad, por lo que no pertenece a ninguna empresa. En realidad es un «fork» de MySQL, aunque desde su creación se ha ido separando del proyecto inicial, publicando distintas mejoras.

Como MariaDB es un motor compatible con MySQL, podemos usar uno u otro, o intercambiarlos, y las aplicaciones seguirán funcionando de igual manera. Por ello, en términos prácticos, podemos elegir entre estos dos SGBD de manera transparente para el desarrollo de los proyectos.

El problema fundamental de MySQL es su licencia. MySQL se ofrece con licencia dual, por lo que el propietario (Oracle) dispone de dos versiones del producto, la «Enterprise» y la «Community». Si no se desea pagar una licencia tenemos que usar la versión Community, que a decir verdad la tienen un poco escondida en la página de descargas.

Esta dualidad provoca confusión y es ahí donde MariaDB gana enteros. Aquellos convencidos por el software libre no tienen dudas e instalan MariaDB en sus servidores. Adicionalmente, MariaDB ha seguido incorporando novedades en su software, presentando nuevos motores y posibilidades que hacen que, a día de hoy, sea un proyecto un poco superior que el propio MySQL. Si te interesa profundizar en este punto te recomendamos el post sobre cómo desplegar MariaDB en un Servidor Cloud.

Cuándo elegir PostgreSQL

PostgreSQL es el SGBD más potente del mercado, no solo por su funcionalidad, sino también por la carga que puede llegar a soportar. No está tan extendido como MySQL, pero también resulta muy popular en aquellos proyectos de cierta envergadura.

Por ello, PostgreSQL es una de las mejores alternativas de SGBD de la actualidad, no solo de código abierto, sino también a nivel comercial. No tiene nada que envidiarle a otros gestores altamente considerados como Oracle. Por lo tanto, a nivel empresarial o para proyectos realmente exigentes, es un sistema gestor de base de datos altamente recomendable.

Siempre ha ido por delante en cuanto a posibilidades, en comparación con otros motores de código abierto, ofreciendo mecanismos para el trabajo con una cantidad muy superior de tipos de datos y operaciones. Además es un sistema de bases de datos objeto-relacional, por lo que es posible extenderlo para poder realizar un tratamiento potente y eficiente sobre cualquier tipo de información que se pueda llegar a necesitar.

Al ser una base de datos menos usada, podemos encontrar menor cantidad de tutoriales o cursos que los que encontramos para MySQL, pero lo cierto es que su comunidad sigue siendo amplia y no será complicado encontrar respuestas a las dudas que nos vayan surgiendo en su uso. Pero si nos preocupa realmente el soporte, PostgreSQL tiene una política muy enfocada a las exigencias de la empresa, ya que sus versiones son a largo término (5 años) y aunque nos quedemos con una versión antigua en un proyecto, hay empresas externas que son capaces de ampliar el soporte.

PostgreSQL es por tanto el proyecto más profesional que podemos encontrar en el mercado del software libre. Y sin embargo, a nivel de desarrollador no encontraremos muchas diferencias, ya que usa estándares como SQL para acceder a todo tipo de operaciones. Eso sí, es una base de datos más pesada, que requiere más esfuerzo del servidor y conocimiento de administración de bases de datos para optimizarla, de modo que alcance un elevado rendimiento.

Sistemas de abstracción de bases de datos

Acabamos con una recomendación para desarrolladores, que consiste en utilizar sistemas de abstracción de bases de datos. Estos sistemas nos permiten acceder a cualquier base de datos mediante una interfaz estándar, de modo que, si más adelante necesitamos intercambiar un motor de bases de datos por otro, no repercute en el código que hemos ido desarrollando para el proyecto.

En este sentido PHP nos ofrece PDO, que sería una de las prácticas recomendables que ya vimos sobre buenas prácticas para PHP.

¿Podemos ayudarte?