Вы находитесь на странице: 1из 9

Sin duda, MySQL es uno de los motores de bases de datos más conocidos y usados a nivel mundial,

compatible con decenas de lenguajes y frameworks. Sin embargo, debido a al ir y venir de


compras de empresas, ha surgido un problema en los últimos años con este software, y muy
relevante para los desarrolladores. Básicamente, al caer en manos de Oracle, MySQL ya no es
completamente Open Source, sino que se acerca al software comercial, aunque existe una versión
Community Edition que sí se puede usar de manera gratuita. Ante esta situación, se creó MariaDB,
que es básicamente una variante (o fork) de MySQL que mantiene toda la filosofía del software
libre y nos asegura dos objetivos muy importantes: mantener la compatibilidad con MySQL, de
modo que MariaDB pueda usarse como reemplazo de MySQL sin necesidad de ninguna costosa
migración, y que la Comunidad pueda continuar trabajando en el sistema gestor de base de datos,
sin verse condicionados por las estrategias comerciales.

MariaDB se puede usar en cualquier lugar donde antes se usaba MySQL. Como se trata de un
sistema compatible, todo software que antes usase MySQL es capaz de seguir funcionando
igualmente con MariaDB. Por tanto, se puede usar MariaDB en cualquier proyecto de nueva
creación, así como intercambiar MySQL por MariaDB en prácticamente todos los proyectos que
puedan estar ya en producción. El paso es inmediato y no requiere cambiar nada en el código,
simplemente instalar MariaDB y volver a crear las bases de datos y tablas en el nuevo sistema.

MariaDB ha seguido el desarrollo del sistema gestor MySQL, implementando diversas mejoras y
nuevas funcionalidades. Las mejoras muchas veces afectan directamente al rendimiento o
permiten optimizar mejor las bases de datos, por lo que usar MariaDB siempre será una opción
interesante. Además, nos garantizamos que vamos a disfrutar de un software con mayor
crecimiento y progresión que el propio MySQL.

Entre las novedades que ya han sido implementadas en MariaDB, podemos destacar:

Nuevos motores de almacenamiento como Aria, que permite sustituir a MyISAM con algunas
mejoras, y XtraDB, que viene a evolucionar InnoDB.

Nuevas características disponibles, relacionadas directamente con las características disponibles


en bases de datos NoSQL.

Nueva gestión de conexiones con la base de datos, que permite multiplicar el número de accesos
de manera concurrente.

Nuevos motores de funcionamiento en cluster, como Galera, que nos permiten interesantes
posibilidades de cara a la adopción Cloud.
Además, al tratarse de una comunidad muy dinámica y abierta a los desarrolladores, MariaDB
garantiza la aparición más rápida de parches, que puedan solucionar eventuales problemas de
seguridad.

MariaDB se puede usar desde la mayoría de sistemas de administración existentes para MySQL,
como PhpMyAdmin o HeidiSQL, y es compatible con aplicaciones tan populares como WordPress,
Drupal, etc. La compatibilidad es tal que muchas veces el uso de MariaDB en lugar de MySQL es
transparente para desarrolladores o administradores de sistemas. Prueba de ello es que, para
arrancar los servicios de MariaDB, o para hacer login en el sistema gestor por medio de línea de
comandos, se usan los mismos mecanismos ya conocidos en MySQL.

MariaDB 10.4 es la versión estable principal actual La primera versión estable fue en junio de
2019, y será compatible hasta junio de 2024.

Contenido
1. Características implementadas
1. Autenticación
2. InnoDB
3. Optimizador
4. Sintaxis
5. Variables
6. Replicación
7. Galera 4
1. Versiones de Galera 4
2. Nuevas características en Galera 4
3. Limitaciones en Galera 4
1. Mejoras sucesivas de Galera 3 a Galera 4
8. General
2. Lista de todas las versiones de MariaDB 10.4

Características implementadas
Autenticación
 Consulte Autenticación de MariaDB 10.4 para obtener una descripción general de los
cambios.
 El complemento de autenticación unix_socket ahora es predeterminado en sistemas
similares a Unix, lo cual es un cambio importante en la autenticación en MariaDB
( MDEV-12484 )
 Caducidad de la contraseña de usuario ( MDEV-7597 )
 Bloqueo de cuenta ( MDEV-13095 )
 La tabla obsoleta mysql.host ya no se crea ( MDEV-15851 )
 Comprobaciones de privilegios mucho más rápidas para configuraciones de MariaDB
con muchas cuentas de usuario o muchas concesiones de bases de datos ( MDEV-
15649 )
 La tabla mysql.user está retirada. Las cuentas de usuario y privilegios globales se
almacenan ahora en el mysql.global_priv mesa ( MDEV-17658 )
 CONFIGURACIÓN DE CONTRASEÑA compatible con ed25519 y otros complementos
de autenticación ( MDEV-12321 )

InnoDB
 Se agregó COLUMNA DROP instantánea y cambio del orden de las columnas
( MDEV-15562 )
 Más extensión VARCHAR instantánea ( MDEV-15563 )
 Intercalación instantánea o cambios de juego de caracteres para columnas no
indexadas ( MDEV-15564 )
 Volumen de registro de rehacer reducido para la inicialización de deshacer el espacio
de tabla ( MDEV-17138 )
 Se eliminó el soporte de actualización de fallas para la TABLA TRUNCATE anterior a
10.2.19 ( MDEV-13564 )
 Se agregó la rotación de teclas para innodb_encrypt_log ( MDEV-12041 )
 Implemente innodb_checksum_algorithm = full_crc32 ( MDEV-12026 )
 Utilice filtros PK en memoria creados a partir de escaneos de índice de rango ( MDEV-
16188 )

Optimizador
 Implementación de la traza del optimizador , se puede habilitar la traza del optimizador
habilitando la variable del sistema optimizer_trace ( MDEV-6111 )
 Las estadísticas de tabla independientes del motor ahora están habilitadas de forma
predeterminada; Los nuevos valores predeterminados son use_stat_tables =
PREFERABLY_FOR_QUERIES y optimizer_use_condition_selectivity = 4 ( MDEV-
15253 )
o Dos nuevos valores para la
variable use_stat_tables : COMPLEMENTARY_FOR_QUERIESy PREFERABLY_FOR_QUERI
ES( MDEV-17255 )
o Los histogramas ahora se recopilan de forma predeterminada ( MDEV-18608 ).
o Se ha agregado la variable analyse_sample_percentage . El valor
predeterminado es 100 ( ANALYZEusará toda la tabla), pero también se puede
configurar el análisis para usar solo una muestra de datos de la tabla para
recopilar las estadísticas.
 Condiciones de inserción en subconsultas IN materializadas ( MDEV-12387 )
 El indicador del interruptor del optimizadoroptimize_join_buffer_size ahora está
predeterminado on( MDEV-17903 )
 Nuevo optimizador cambiar banderas rowid_filterycondition_pushdown_from_having

Sintaxis
 Versiones del sistema extendidas con soporte para períodos de tiempo de aplicación .
 Soporte de paréntesis (paréntesis) para especificar la precedencia
en operaciones UNION / EXCEPT / INTERSECT ( MDEV-11953 )
 Nuevo comando SSL FLUSH para recargar los certificados SSL sin reiniciar el servidor
( MDEV-16266 )
 Nuevo CASTobjetivo - CAST(x AS INTERVAL DAY_SECOND(N))( MDEV-17776 )
 IF NOT EXISTScláusula agregada a INSTALL PLUGIN y IF EXISTScláusula agregada
a UNINSTALL PLUGIN y UNINSTALL SONAME ( MDEV-16294 )

Variables
Para obtener una lista de todas las variables nuevas, consulte Variables del sistema
agregadas en MariaDB 10.4 y Variables de estado agregadas en MariaDB 10.4 .

 Añadido a la TCP_NODELAY variable de sistema ( MDEV-16277 )


 Se eliminó la variable de estado Innodb_pages0_read ( MDEV-15705 ).
 Nueva configuración en modo sql , TIME_ROUND_FRACTIONAL( MDEV-16991 )
 Nueva variable gtid_cleanup_batch_size para determinar cuántas filas antiguas deben
acumularse en la tabla mysql.gtid_slave_pos antes de ejecutar un trabajo en segundo
plano para eliminarlas.
 El valor predeterminado para eq_range_index_dive_limit es ahora 200(anteriormente 0)
( MDEV-18551 )
 core_file en Windows ahora tiene el valor predeterminado ON( MDEV-18439 )

Replicación
 Acelere la rotación de registros binarios, SHOW BINARY LOGSetc. optimizando el bloqueo
del archivo de índice de registro binario ( MDEV-19116 , MDEV-19117 ).
 Se agrega un nuevo comando de servidor, SHUTDOWN WAIT FOR ALL SLAVES , y
una nueva opción mysqladmin shutdown --wait-for-all-slaves , para indicar al servidor
que espere a que se envíe el último evento binlog a todos los esclavos conectados
antes de apagar . ( MDEV-18450 ).

Galera 4
En MariaDB 10.4.2 y posterior, Galera se ha actualizado de Galera 3 a Galera 4.
Versiones de Galera 4

La siguiente tabla enumera cada versión del proveedor wsrep de Galera 4, y enumera en qué
versión de MariaDB se lanzó por primera vez. Si desea instalar Galera 4
usando yum , apt o zypper , se llama al paquete galera-4.

Versión Galera Lanzado en la versión MariaDB

26.4.2 MariaDB 10.4.4

26.4.1 MariaDB 10.4.3

26.4.0 MariaDB 10.4.2

Nuevas características en Galera 4

La mysqlbase de datos contiene nuevas tablas relacionadas con la replicación de Galera:

 wsrep_cluster
 wsrep_cluster_members
 wsrep_streaming_log

Los usuarios finales pueden leer pero no modificar estas tablas.

La nueva función de replicación de transmisión permite replicar transacciones de tamaño


ilimitado. Con la replicación de transmisión, un clúster está replicando una transacción en
pequeños fragmentos durante la ejecución de la transacción. Esta fragmentación de la
transacción está controlada por dos nuevas variables de configuración:

 wsrep_trx_fragment_unit (bytes, rows, statements)define las métricas sobre cómo


medir el límite de tamaño de transacción para fragmentar. Los valores posibles son:
o bytes: tamaño del búfer de eventos binlog de la transacción en bytes
o rows: número de filas afectadas por la transacción
o statements: número de sentencias SQL ejecutadas en la transacción de
múltiples sentencias
 wsrep_trx_fragment_sizedefine el límite de fragmentación. Cuando el tamaño de una
transacción, en términos de la unidad de fragmento configurada, ha crecido por
encima de este límite, se replicará un nuevo fragmento.

Las transacciones replicadas a través de la replicación galera ahora procesarán la fase de


confirmación utilizando la lógica de confirmación de grupo de MariaDB. Esto afectará el
rendimiento de la transacción, especialmente cuando el registro binario está habilitado en el
clúster.

Limitaciones en Galera 4
Mejoras sucesivas de Galera 3 a Galera 4

Las actualizaciones continuas de MariaDB 10.3 (o anterior) a MariaDB 10.4 también requieren
una actualización de Galera 3 a Galera 4. Galera 4 tiene muchos cambios y mejoras que no
estaban presentes en Galera 3.

Antes de las versiones de Disponibilidad general (GA) de MariaDB 10.4 y Galera 4, las
versiones anteriores de MariaDB 10.4 y Galera 4 tenían errores que podían generar
problemas si los nodos Galera 4 estaban en un clúster con los nodos Galera 3 durante una
actualización continua. En estas versiones, las actualizaciones sucesivas no eran
compatibles. Esto significaba que, para actualizar un clúster, el clúster tenía que detenerse por
completo, y los nodos solo podían reiniciarse después de que todo el clúster se hubiera
actualizado a MariaDB 10.4 y Galera 4.

Estos errores se han corregido en versiones más recientes y se admiten actualizaciones


continuas de Galera 3 a Galera 4. Para realizar una actualización continua, se recomienda
actualizar a MariaDB 10.4.6 o posterior y Galera 26.4.2 o posterior. Sin embargo, como regla
general, los usuarios deben intentar asegurarse de que están actualizando a las últimas
versiones de MariaDB 10.4 y Galera 4.

Para obtener información más detallada sobre cómo actualizar, consulte Actualización de
MariaDB 10.3 a MariaDB 10.4 con Galera Cluster .

General
 Crash segura Aria -basado tablas del sistema ( MDEV-16421 )
 Se agregó compatibilidad con sockets abstractos de Linux ( MDEV-15655 )
 C ++ 11 habilitado ( MDEV-16410 )
 Mejoras de rendimiento en intercalaciones Unicode ( MDEV-17534 , MDEV-
17511 , MDEV-17502 , MDEV-17474 )
 Complementos de tipo de datos de usuario ( MDEV-4912 , en progreso)
 Las mejoras con el soporte de INTERVALO estándar de SQL para ayudar a las
funciones TIMESTAMP () y ADDTIME () devuelven resultados más predecibles.
o Históricamente, MariaDB utiliza el tipo de datos TIME para los valores de "hora
del día" y los valores de "duración". En el primer significado, el rango de
valores naturales es de '00: 00: 00 'a '23: 59: 59.999999', en el segundo
significado el rango es de '-838: 59: 59.999999' a '+838: 59: 59.999999 '.
o Para eliminar esta ambigüedad y para la conformidad con el estándar SQL,
planeamos introducir un tipo de datos dedicado INTERVALO que podrá
almacenar valores en el rango de al menos '-87649415: 59: 59.999999' a
'+87649415: 59: 59.999999', que será suficiente para representar la diferencia
horaria entre TIMESTAMP'0001-01-01 00:00:00 'y TIMESTAMP'9999-12-31
23: 59: 59.999999'.
o Como primer paso, admitimos este rango de valores para cálculos intermedios
cuando se usan cadenas numéricas y valores numéricos similares a TIME en
el contexto de INTERVALO (es decir, duración), por ejemplo, como el segundo
argumento de las funciones SQL TIMESTAMP (ts, intervalo) y ADDTIME (ts,
intervalo), por lo que ahora se puede calcular lo siguiente:
SELECCIONAR ADDTIME ( TIMESTAMP '0001-01-01 00:00:00' , '87649415:
59: 59.999999' );

-> '9999-12-31 23: 59: 59.999999'

SELECCIONAR TIMESTAMP ( FECHA '0001-01-01' , '87649415: 59: 59.9999


99' )

-> '9999-12-31 23: 59: 59.999999'

SELECCIONE ADDTIME ( TIME '-838: 59: 59.999999' , '1677: 59: 59.999


998' );

-> '838: 59: 59.999999'

 Soporte para funciones UDF de ventana a través del nuevo


método x_remove ( MDEV-15073 )
 Servicio Json para complementos ( MDEV-5313 )
 Cambio en el comportamiento de FLUSH TABLES ( MDEV-5336 ).
 La función JSON_VALID se usa automáticamente como una restricción CHECK para
el alias de tipo de datos JSON para garantizar que se inserte un documento json válido
( MDEV-13916 )
 Comandos con nombre MariaDB ( MDEV-17591 )

Google:

Es una empresa multinacional estadounidense especializada en productos y servicios relacionados


con Internet, software, dispositivos electrónicos y otras tecnologías

Wikipedia:

Un sistema de creación, intercambio y revisión de información en la web, de forma fácil y


automática.
Redhat:

No sólo trabajan en el desarrollo de una de las distribuciones más populares de Linux, sino
también en la comercialización de diferentes productos y servicios basados en software de código
abierto

Fedora:

Se trata de un sistema operativo completo de próposito general, basado todo en software libre

Hp:

Es una de las mayores empresas de tecnologías de la información del mundo

Tumblr:

Es una plataforma de microblogging que permite a sus usuarios publicar textos, imágenes, vídeos,
enlaces, citas y audio a manera de tumblelog

Opensuse:
Es el nombre de la distribución y el proyecto libre para el desarrollo y mantenimiento de un
sistema operativo basado en Linux.

Вам также может понравиться