En la industria del hosting existen varios sistemas de gestión de bases de datos, veamos sus ventajas y desventajas de tres de ellos, MySQL, DBMaria y PostgreSQL.
Saber qué base de datos es mejor que otro va a depender mucho al uso y al enfoque que le vas a dar y sin mencionar el rendimiento cabe mencionar que los tres gestores de base de datos que veremos en este artículo son gratuitos, pero veremos en que se diferencia cada uno de ellos.
MySQL
Es un Sistema Gestor de Bases de Datos (SGBD), y actualmente uno de los más usados y reconocidos del mercado. Especialmente en lo que se refiere a desarrollo web, está clasificada como la base de datos de código abierto más popular del mundo.
La clave de su éxito es formar parte del stack LAMP. Con PHP es un tándem muy usado y casi un estándar en la mayor parte de los alojamientos web.
En 2008 Sun Microsystems compro MySQL AB por 1.000 millones, para el 2009 Oracle compro a Sun Microsystems (Java, Solaris, MySQL).
En el 2010 MySQL presenta la versión 5.5, el motor de almacenamiento de MySQL predeterminado pasa a ser InnoDB.
Es una base de datos que presenta rapidez en lectura, sobre todo cuando se utilizan ciertos motores como MylSAM o InnoDB. A pesar de ello, se puede presentar problemas el utilizarla en entornos o desarrollos que presenten una alta concurrencia de modificación.
Es mayormente utilizando en conjunción con servidores web donde se lo encuentra relacionado a aplicaciones web o CMS para sitios online, como WordPress, Joomla!, Drupal, entre otros. Está muy ligado a PHP en lo que se refiere a este tipo de desarrollos.
MySQL tiene una licencia dual: Licencia pública general y Licencia comercial por Oracle Corporation, es usado por muchos sitios web grandes y populares, como Wikipedia, Google (aunque no para búsquedas), Facebook, Twitter, Flickr y YouTube.
Ventajas
- MySQL software es Open Source.
- Facilidad de configuración e instalación.
- Su conectividad, velocidad, y seguridad hacen de MySQL Server altamente apropiado para acceder bases de datos en Internet.
- Baja probabilidad de corromper datos, incluso si los errores no se producen en el propio gestor, sino en el sistema en el que está.
- Soporta gran variedad de Sistemas Operativos.
- Bajo costo en requerimientos para la elaboración de bases de datos, ya que debido a su bajo consumo puede ser ejecutado en una máquina con escasos recursos sin ningún problema.
- Velocidad al realizar las operaciones, lo que le hace uno de los gestores con mejor rendimiento.
- El software MySQL usa la licencia GPL.
Desventajas
- Un porcentaje de las utilidades de MySQL no están documentadas.
- No es tan eficaz en aplicaciones que requieran de una constante modificación de escritura en BD.
- Se debe controlar/monitorizar el rendimiento de las aplicaciones en busca de fallos.
DBMaria
Es un sistema de gestión de bases de datos derivado de MySQL con licencia GPL (General Public License). Es desarrollado por Michael (Monty) Widenius, fundador de MySQL, la fundación MariaDB y la comunidad de desarrolladores de software libre, fue lanzado en el año 2009.
Introduce dos motores de almacenamiento nuevos, uno llamado Aria que reemplaza a MyISAM y otro llamado XtraDB en sustitución de InnoDB. Tiene una alta compatibilidad con MySQL ya que posee las mismas órdenes, interfaces, API y bibliotecas, siendo su objetivo poder cambiar un servidor por otro directamente.
Este SGBD surge a raíz de la compra de Sun Microsystems compañía que había comprado previamente MySQL AB por parte de Oracle. MariaDB es una bifurcación directa de MySQL que asegura la existencia de una versión de este producto con licencia GPL. Widenius decidió crear esta variante porque estaba convencido de que el único interés de Oracle en MySQL era reducir la competencia que MySQL suponía para el mayor proveedor de bases de datos relacionales del mundo, que es Oracle.
La licencia de DBMaria ha provocado que muchas empresas que usaban MySQL en diversas aplicaciones hayan migrado a DBMaria, entre ellas tenemos a Google, Wikipedia, BlaBlaCar, Walmart.
Al ser una alternativa a MySQL su prioridad es mantener una compatibilidad completa con el sistema anterior de MySQL, para que las posibles migraciones de esta con DBMaria sean de una forma limpia y sin problemas.
Ventajas
- Nuevos motores de almacenamiento más eficientes, Aria y XtraDB vienen a reemplazar a MyISAM e InnoDB respectivamente.
- Mejoras de velocidad sobre todo en consultas complejas cuando se usa el motor de almacenamiento Aria, ya que Aria cachea los datos de tablas temporales en memoria, lo que supone un rendimiento frente al uso del disco duro (que es lo que emplea MyISAM).
- El sistema para manejar las conexiones se ha mejorado, ya que implementa el sistema pool-of-threads de MySQL 6.0 con el que podemos tener más de 200.000 conexiones a MariaDB.
- Se han implementado nuevas tablas de sistema (INFORMATION_SCHEMA) para almacenar estadísticas que nos pueden ayudar a optimizar las bases de datos.
Desventajas
- La migración de un sistema de base de datos diferentes puede generar incompatibilidad.
PostgreSQL
También llamado Postgres es el SGBD open source más potente, no solo por su funcionalidad, sino por su resistencia y disponibilidad. Su nombre viene de Post-Ingress, ya que sus creadores son los creadores de las bases de datos Ingress.
Su sistema de gestión de bases de datos relacionales orientados a objetos y de código abierto, publicado bajo la licencia PostgreSQL, similar a la BSD o la MIT.
Es reconocido actualmente como uno de los sistemas gestores de bases de datos relacionales más potentes del mercado. Presenta fácil accesibilidad, es multiplataforma y está disponible para su utilización en casi todos los sistemas operativos utilizados en la actualidad sin disminuir su rendimiento.
Como muchos otros proyectos de código abierto, el desarrollo de PostgreSQL no es manejado por una empresa o persona, sino que es dirigido por una comunidad de desarrolladores que trabajan de forma desinteresada, altruista, libre o apoyada por organizaciones comerciales. Dicha comunidad es denominada el PGDG (PostgreSQL Global Development Group).
Entre las características de PostgreSQL que existen tenemos:
- Licencia única BSD sin límites.
- Permite definir procedimientos, no solo en PostgreSQL, sino también en otros muchos lenguajes como Pearl, TCL o Python. Incluso si lenguaje que queramos usar no está soportado, podemos definirlo con nuevas extensiones.
- Es una base de datos 100% ACID.
- Completa documentación.
- Herramientas para replicación, disponibilidad, escalabilidad.
- Múltiples métodos de autentificación.
- Multi-Version Concurrency Control (MVCC).
- Disponible para Linux y UNIX en todas sus variantes (AIX, BSD, HP-UX, SGI IRIX, Mac OS X, Solaris, Tru64) y Windows 32/64bit.
- Calendario de versiones definido a 5 años y soporte extra ofrecido por tercera empresas.
PostgreSQL brinda opciones más complejas que MySQL, ya que suele estar orientado para bases de datos más grandes y con consultas más largas. Algunas de sus funciones, como la de unir tablas, hacen que sea mejor valorado por algunos desarrolladores frente a su clásico rival.
Ambas herramientas resultarán prácticos si tienes los conocimientos necesarios para usarlos, solo que en tareas sencillas se prefiere a MySQL y en otras más complejas a PostgreSQL.
En cuanto al rendimiento este SGBD es bueno empleándolo en proyectos de gran aporte, que necesiten de una base de datos más robusta y con muchas consultas largas y frecuentes, a diferencia que el MySQL que es preferible emplearlo en proyectos pequeños o medianos, que no exijan consultas complejas y que se pueda editar rápidamente.
Ventajas
- Seguridad en términos generales.
- Transacciones y respaldos.
- Autorizaciones.
- Disparadores (Triggers).
- Conexión a sistema de gestión de bases de datos.
- Integridad referencial.
- Integridad en BD: restricciones en el dominio.
- Afirmaciones (Assertions).
Desventajas
- La sintaxis de algunos de sus comandos o sentencias no son intuitivas.
- Instalación Ilimitada.
- Consume más recursos que MYSQL por lo que se necesitan mayores características de hardware para ejecutarlo.
Hemos visto cada uno de las características de estos tres tipos de base de datos, antes de elegir por uno de ellos debemos tener en cuenta el tamaño del proyecto que vamos a desarrollar y el volumen, la licencia si bien es cierto los tres son gratuitos pero no iguales entonces es necesario saber lo que nos permita o no hacer cada una de las licencias, así como también está la infraestructura, la disponibilidad, escalabilidad y la comunidad.