GNU/Linux >> Tutoriales Linux >  >> Linux

¿Qué es MySQL vs MariaDB vs Percona?

Ilustración de Walker Cahall

Público objetivo

Este artículo asume que tiene al menos una familiaridad pasajera con las bases de datos y parte de la terminología relacionada con sus características.

Introducción

Las bases de datos respaldan cada aplicación y hay muchas opciones. MySQL ha sido durante mucho tiempo una opción popular de código abierto; sin embargo, MariaDB y Percona son dos bifurcaciones de código importantes que pueden reemplazar a MySQL con características mejoradas. Este artículo ofrece una comparación amplia de los tres.

MySQL

Imagen:MySQL / Licenciado bajo CC BY-SA 3.0

MySQL es un sistema de gestión de base de datos relacional de código abierto muy conocido y muy popular (a menudo abreviado como RDBMS). Fue desarrollado como una base de datos confiable y de alta disponibilidad para aplicaciones basadas en la web en la década de 1990. Aunque es de código abierto, es propiedad de Oracle, que lo ofrece como una edición comunitaria gratuita bajo la licencia GPL (GNU General Public License) y como una versión con licencia comercial. La versión Oracle de MySQL es una instalación común en muchos hosts, una parte de las pilas clásicas LAMP y WAMP, y la base de datos predeterminada para WordPress.

Su fuerza radica en su longevidad. El código base es muy estable y confiable para el tipo de aplicaciones web para las que fue diseñado. Existe una gran comunidad de usuarios y administradores de MySQL y, como resultado, una gran colección de información publicada para MySQL, tanto en la web como impresa.

Sus debilidades, en comparación con las otras dos bases de datos, radican en su gobernanza. Muchos en la comunidad de código abierto consideran que Oracle es una fuerza que bloquea la naturaleza de código abierto del proyecto original. Además, debido al modelo de licencia dual, ciertas aplicaciones requieren una licencia comercial.

MySQL frente a MariaDB/Percona

Cuando Sun adquirió MySQL y luego Oracle, los grupos se fueron para comenzar sus propias bifurcaciones del código MySQL. Eso nos lleva a MariaDB y Percona. Ambos están diseñados para ser reemplazos directos de MySQL. Las aplicaciones que funcionan con MySQL también deberían funcionar con cualquiera de estas bifurcaciones. A pesar de ser competidores, cada bifurcación se basa en el código fuente abierto de la otra. Por ejemplo, MariaDB ofrece el motor XtraDB de Percona. Percona ha recogido algunas de las optimizaciones y mejoras en el conjunto de subprocesos de MariaDB. Ambos han mejorado sobre MySQL base, incluida la corrección de subconsultas.

MariaDB

Imagen:MariaDB / Licenciado bajo CC BY-SA 3.0

La bifurcación de MariaDB se inclina hacia la expansión de la amplitud de las capacidades de MySQL y es menos conservadora en cuanto a la adición de nuevas funciones que Percona. MariaDB se ha esforzado por hacer avances con el optimizador de consultas. Es una opción potencialmente mejor si no puede determinar qué tipo de consultas necesita su proyecto regularmente. Algunas otras características que distinguen a MariaDB incluyen las siguientes:

  • MariaDB incluye una variedad más grande de motores de almacenamiento que MySQL base o Percona, incluida ahora una opción NoSQL con Cassandra. También incluye XtraDB de Percona como opción.
  • A partir de la versión 10.1, MariaDB ofrece cifrado de base de datos en disco.
  • MariaDB ofrece características de escalabilidad que incluyen replicación de múltiples fuentes, lo que permite que un solo servidor replique desde varias fuentes.
  • La interacción de los ID de transacciones globales entre MariaDB y MySQL puede requerir una implementación cuidadosa si planea tener un esquema de replicación complejo que une las versiones de MySQL. Por ejemplo, es posible replicar desde MySQL 5.6 a MariaDB 10.X, pero no al revés.

En general, MariaDB es una rama madura de MySQL con visión de futuro que tiene como objetivo ofrecer nuevas funciones y avances para la base de datos. Es apropiado para grandes aplicaciones de alojamiento de VPS multiservidor, especialmente aquellas con patrones de consulta cambiantes que pueden aprovechar el optimizador de MariaDB.

Servidor Percona

Percona se ha concentrado en aplicaciones muy exigentes con su propia alternativa de alto rendimiento al motor de almacenamiento InnoDB llamada XtraDB, que incluye herramientas de instrumentación para ajustarlo. Sus funciones tienden a mejorar el rendimiento, la disponibilidad y la escalabilidad para las bases de datos más grandes con el mayor rendimiento. En su sitio web, Percona afirma estar más cerca del código base de MySQL desde el punto de vista de la compatibilidad y más conservador que MariaDB. Otras características que favorecen a Percona incluyen las siguientes:

  • En su impulso por el rendimiento, Percona ofrece más contadores y diagnósticos para medir el rendimiento y ajustar la base de datos.
  • Percona tiene mejoras de escalabilidad para grandes bases de datos, incluidas algunas funciones en su producto de servidor gratuito que solo están disponibles en el nivel empresarial de MySQL.
  • Percona también tiene herramientas adicionales más allá del motor de base de datos, incluido un clúster XtraDB y una utilidad XtraBackup.

Al igual que MariaDB, Percona es una rama madura de código abierto de MySQL. Su atención se centra más en el rendimiento de las bases de datos más grandes y exigentes con las herramientas para lograr y mantener ese rendimiento.

Entonces, ¿cuál es realmente mejor?

Como en la mayoría de las cosas en tecnología, la respuesta es "depende". Gran parte del debate parece ser un argumento de dos etapas en lugar de una batalla a tres bandas. La primera etapa es MySQL versus uno de sus reemplazos. Tienes que decidir si incluso necesitas un cambio. Las bifurcaciones mejoran la base de MySQL con mejoras de rendimiento y con funciones y herramientas adicionales. El rendimiento se vuelve más importante cuanto más grande es su base de datos, por lo que es menos probable que las bases de datos pequeñas vean gran parte de ese beneficio en las bifurcaciones. Pero podría haber otras razones para buscar un reemplazo, como licencias o flexibilidad de datos. Si te decides por un evento sin cita previa, entonces la discusión gira en torno a cuál.

Sería demasiado fácil mirar incluso la comparación anterior y decir que MariaDB no se preocupa por el rendimiento o que el optimizador en Percona es mediocre. Eso no es del todo cierto. Ambas bifurcaciones sobresalen en el nivel básico de base de datos. Se diferencian más a medida que llegas al borde del sobre.

Entonces, ¿qué es más importante? Si se trata de la capacidad de almacenar tipos flexibles de datos en varias fuentes diferentes, primero consulte MariaDB. Si tiene una base de datos más grande que aún requiere un rendimiento rápido, comience su búsqueda con Percona. Aún así, no ignore la otra rama por completo. Algunas de sus herramientas, debido a la raíz común de MySQL, pueden funcionar con cualquier rama y podrían ser la solución que necesita.

Si ha superado a MySQL y quiere llegar a una de las bifurcaciones, pero no está en la vanguardia del tamaño o la flexibilidad, entonces la decisión parece ser de gusto. ¿Qué empresa te ofrece los servicios o herramientas que usarías de todos modos?

¿Aún no estás seguro o quieres hacer una lectura más profunda? Eche un vistazo a algunas de las siguientes comparaciones que la gente de MariaDB y Percona han realizado.

  • Comparación de características de Percona
  • Características de MariaDB frente a MySQL
  • Características de MariaDB 10

Linux
  1. Cómo instalar el servidor Percona en CentOS 7

  2. Cree una nueva base de datos y utilícela en MySQL/MariaDB

  3. Instalar MariaDB en CentOS 6.4

  4. Cómo reemplazar MySQL con MariaDB en CentOS 6

  5. Cómo importar una base de datos de exportación en MYSQL MariaDB

Hoja de referencia de comandos de base de datos MySQL para Linux

Almacenar Kannel DLR en MySQL/MariaDB

Cómo instalar MySQL/MariaDB en Debian 11

Cómo cambiar/restablecer la contraseña raíz de MySQL o MariaDB

Cómo Multi-Master MySQL con Percona y Keepalived

8 pasos para instalar MirthConnect con MySQL / MariaDB en Linux