MariaDB 11 ya fue liberada y estas son sus novedades
10 años después de la fundación de la rama 10.x, por fin se lanzo la nueva versión y rama de MariaDB 11.0.0, que trae varias mejoras importantes y rompe cambios de compatibilidad.
MariaDB 11 ya fue liberada y estas son sus novedades y estará lista para su uso en producción después de la estabilización. Se espera que la próxima rama significativa de MariaDB 12, que contiene cambios que rompen la compatibilidad, no sea antes de 10 años (en 2032).
Para quienes desconocen del proyecto MariaDB, deben saber que este desarrolla una bifurcación de MySQL que mantiene la compatibilidad con versiones anteriores siempre que sea posible y se distingue por la integración de motores de almacenamiento adicionales y características avanzadas.
El desarrollo de MariaDB está supervisado por la fundación independiente MariaDB, siguiendo un proceso de desarrollo abierto y transparente independiente de los proveedores individuales. MariaDB se envía en lugar de MySQL en muchas distribuciones de Linux.
Principales novedades de MariaDB 11
En este nuevo lanzamiento que se presenta de MariaDB 11 una de las mejoras clave en la rama es la traducción del optimizador de consultas a un nuevo modelo de ponderación (modelo de costo), que proporciona una predicción más precisa de las ponderaciones de cada plan de ejecución de consultas. Si bien el nuevo modelo elimina algunos cuellos de botella de rendimiento, es posible que no sea óptimo en todos los escenarios y algunas consultas pueden ralentizarse, por lo que se anima a los usuarios a participar en las pruebas y notificar a los desarrolladores en caso de problemas.
El modelo anterior funcionó bien para encontrar el índice óptimo, pero tenía problemas con la aplicabilidad de los escaneos de tablas, escaneos de índices o búsquedas de rango. En el nuevo modelo, esta desventaja se elimina al cambiar el peso base de las operaciones con el motor de almacenamiento.
Las evaluaciones de rendimiento para operaciones que hacen un uso intensivo del disco, como los escaneos de escritura secuencial, ahora asumen que los datos se almacenan en un SSD con una capacidad de lectura de 400 MB por segundo. Adicionalmente, se afinaron otros parámetros de peso del optimizador que, por ejemplo, permitieron implementar la posibilidad de utilizar índices para operaciones «ORDER BY/GROUP BY» en subconsultas y agilizar el trabajo con tablas muy pequeñas.
Otra de las novedades que se destaca es que el nuevo modelo de ponderación permitirá elegir un plan de ejecución de consultas más óptimo en las siguientes situaciones:
- Cuando se utilizan consultas que abarcan más de 2 tablas.
- Cuando hay índices que contienen una gran cantidad de valores idénticos.
- Cuando se utilicen rangos que cubran más del 10% de la tabla.
- Cuando tiene consultas complejas donde no se indexan todas las columnas utilizadas.
- Cuando se utilizan consultas que involucran diferentes motores de almacenamiento (por ejemplo, cuando una consulta contiene acceso a tablas en los motores InnoDB y Memory).
- Al usar FORCE INDEX para mejorar el plan de consulta.
- Cuando se degrada el plan de consulta en el caso de utilizar «ANALIZAR TABLA».
- Cuando la consulta abarca una gran cantidad de vistas (gran cantidad de SELECT anidados).
- Cuando se utilizan cláusulas ORDER BY o GROUP BY que coinciden con índices.
Por la parte del rompimiento de compatibilidad en esta nueva versión de MariaDB 11, se mencionan las siguientes interrupciones que encontraremos en esta nueva rama:
- Los derechos SUPER ya no le permiten realizar acciones para las que están disponibles privilegios establecidos por separado. Por ejemplo, cambiar el formato de los registros binarios requerirá derechos de ADMINISTRADOR DE BINLOG.
- Se eliminó la implementación del búfer de cambios en InnoDB.
- Innodb_flush_method e innodb_file_per_table obsoletos.
- El soporte para nombres mysql* ha quedado obsoleto.
- Configuración obsoleta de explicit_defaults_for_timestamp en 0.
- Los enlaces simbólicos se han movido a un paquete separado para compatibilidad con MySQL.
- El valor del parámetro innodb_undo_tablespaces ha cambiado de predeterminado a 3.
Finalmente si estás interesado en poder conocer más al respecto sobre este nuevo lanzamiento, puedes consultar los detalles en el siguiente enlace.