sql >> Base de Datos >  >> RDS >> MariaDB

¿Qué hay de nuevo en MariaDB Server 10.5?

MariaDB Server 10.5 es una versión fresca, nueva y estable de MariaDB que se lanzó el 24 de junio de 2020. Echemos un vistazo a las características que nos traerá.

Más privilegios granulares

Con MariaDB 10.5 se vienen algunos cambios con respecto a los privilegios. Principalmente, el privilegio SUPER se ha dividido en varios privilegios nuevos que permiten establecer un control más granular sobre qué acciones están permitidas para determinados usuarios y cuáles no. A continuación se muestra la lista de los nuevos privilegios que están disponibles en MariaDB 10.5:

  • ADMINISTRADOR DE BINLOG
  • BINLOG REPLAY
  • ADMINISTRADOR DE CONEXIÓN
  • ADMINISTRADOR FEDERADO
  • LEER_SOLO ADMINISTRADOR
  • ADMINISTRADOR MAESTRO DE LA REPLICACIÓN
  • ADMINISTRADOR ESCLAVO DE LA REPLICACIÓN
  • ESTABLECER USUARIO

Mejoras de rendimiento de InnoDB

MariaDB 10.5 viene con una lista de mejoras de rendimiento para InnoDB. Lo que es importante saber es que MariaDB 10.5 tiene integrado InnoDB de MariaDB 10.4. Habrá modificaciones y mejoras de rendimiento, pero el núcleo de InnoDB es el mismo que en MariaDB 10.4. Es muy interesante ver cómo el camino que ha elegido MariaDB traerá en términos de rendimiento. Por un lado, apegarse a la versión anterior permite ciclos de lanzamiento más rápidos para MariaDB:migrar InnoDB totalmente nuevo a MariaDB sería todo un desafío y, seamos honestos, puede que no sea realmente factible de lograr. Tenga en cuenta que MariaDB se vuelve cada vez más incompatible con el upstream. Ha pasado un tiempo desde la última compilación en la que simplemente podía intercambiar binarios y todo funcionaba sin problemas.

MariaDB desarrolló su conjunto de funciones como el cifrado o la compresión, lo que hace que esas implementaciones no sean compatibles. Por otro lado, el nuevo InnoDB ha mostrado un rendimiento significativamente mejor que MariaDB 10.4. Se han escrito muchas líneas de código (y se han eliminado muchas líneas de código) para que sea más escalable que la versión anterior. Será muy interesante ver si MariaDB 10.5 podrá superar a sus concurrentes.

No entraremos en detalles ya que esto es lo que puede encontrar en el sitio web de MariaDB, nos gustaría mencionar algunos de los cambios. Los registros de rehacer de InnoDB han visto algo de trabajo haciéndolos más eficientes. El grupo de búfer de InnoDB también se ha mejorado en la medida en que se eliminó la opción de crear varios grupos de búfer porque ya no es necesario; los desafíos de rendimiento que se pretendía solucionar ya se habían solucionado en 10.5, por lo que esta opción no era necesaria.

Lo que también es importante tener en cuenta es que InnoDB en 10.5 será, debido a los cambios, incompatible con InnoDB en 10.4. La actualización será unidireccional únicamente, debe planificar su proceso de actualización en consecuencia.

Soporte total de GTID para Galera Cluster

Galera Cluster vendrá en MariaDB 10.5 con soporte GTID completo. Esto debería hacer que la combinación de Galera Cluster y la replicación asincrónica sea más fluida y menos problemática.

Más metadatos para replicación y registros binarios

Hablando de replicación, MariaDB 10.5 ha mejorado los metadatos de registro binario. Viene con más información sobre los datos que se replican:

  • Firma de columnas numéricas
  • Conjunto de caracteres de columnas de caracteres y columnas binarias
  • Nombre de columna
  • Valor de cadena de columnas SET
  • Valor de cadena de columnas ENUM
  • Clave principal
  • Conjunto de caracteres de columnas SET y columnas ENUM
  • Tipo de geometría

Esto debería ayudar a evitar problemas de replicación si hay diferentes esquemas en el maestro y en el esclavo.

Sintaxis

Se han introducido varios cambios en la sintaxis SQL en MariaDB 10.5. INTERSECT nos permite escribir una consulta que dará como resultado filas devueltas por dos declaraciones SELECT. En MariaDB 10.5 se agregó INTERSECT ALL, lo que permite devolver un conjunto de resultados con valores duplicados. Del mismo modo, EXCEPTO se ha mejorado para permitir EXCEPTO TODO.

Se han realizado un par de cambios en la sintaxis ALTER:ahora puede cambiar el nombre de las columnas con ALTER TABLE... RENAME COLUMN. También es posible cambiar el nombre del índice usando la sintaxis ALTER TABLE … RENAME KEY. Lo que es muy importante, tanto ALTER TABLE como RENAME TABLE recibieron soporte para IF EXISTS, definitivamente ayudará en términos de manejo de replicación.

Actualizaciones del esquema de rendimiento para que coincidan con MySQL 5.7 

Las tablas del esquema de rendimiento se han actualizado para que estén a la par con el esquema de rendimiento de MySQL 5.7. Esto significa cambios en la instrumentación relacionada con la memoria, bloqueo de metadatos, declaraciones preparadas, procedimientos almacenados, bloqueo, transacciones y variables de usuario.

Binarios llamados mariadb

Por último, pero no menos importante, los archivos binarios se han cambiado de 'mysql' a 'mariadb'. Sin embargo, la antigua convención de nomenclatura aún se puede utilizar para mantener la compatibilidad con las secuencias de comandos y las herramientas existentes.

Además de eso, se han introducido varios otros cambios. Matriz JSON y función de agregación de objetos, instrumentación mejorada para el grupo de conexiones, mejoras en el optimizador de consultas o migración a una nueva versión de la biblioteca para expresiones regulares. También se ha introducido la integración con S3:puede leer datos de depósitos S3 desde MariaDB 10.5.

Esperamos ver cómo se verá esta nueva versión de MariaDB en entornos de producción. Si está interesado en probar, las instrucciones de migración están disponibles en el sitio web de MariaDB