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

Novedades en MariaDB 10.6

A partir de enero de 2022, ClusterControl v1.9.2 introdujo soporte para la última versión de MariaDB, la versión 10.6. MariaDB 10.6, lanzado en julio de 2021, será compatible durante los próximos cuatro años o precisamente hasta julio de 2026.

En esta publicación, destacaremos las características principales de MariaDB 10.6.

DDL atómico (lenguaje de definición de datos)

La primera característica que cubriremos es Atomic DDL. Por definición, "atómico" significa que la operación es exitosa y se registra en los registros binarios, o se invierte por completo. A partir de MariaDB 10.6.1, MariaDB ha mejorado la legibilidad de las operaciones de DDL al hacer que la mayoría de ellas sean atómicas, mientras que el resto son a prueba de fallas, incluso si el servidor falla al ejecutar cualquier operación. Tanto Atomic como Crash-safe se desarrollaron para funcionar con todos los motores de almacenamiento, excepto el motor de almacenamiento S3 y el motor de particionamiento, que todavía son un trabajo en progreso.

En esta versión, ALTER TABLE, RENAME TABLE, CREATE TABLE, DROP TABLE, DROP DATABASE y sus declaraciones DDL relacionadas ahora están listas para atómicas. La lista completa de otras operaciones Atomic DDL se puede encontrar aquí. Lo bueno de la nueva implementación atómica y a prueba de fallas es que el servidor MariaDB se ha vuelto mucho más estable, por no mencionar confiable, incluso en entornos inestables.

Sintaxis SQL

En términos de la categoría de sintaxis SQL, se agregaron algunas características nuevas. El primero que vamos a ver es:

SELECCIONAR... COMPENSAR... OBTENER

La cláusula OFFSET nos permitirá devolver solo aquellos segmentos de un conjunto de resultados que llegan después de un desplazamiento definido. Por otro lado, la cláusula FETCH restringe el número de filas a devolver. Ya sea una FILA singular o una FILA plural, ambas podrían usarse después de las cláusulas OFFSET y FETCH ya que no tienen impacto en los resultados.

SALTAR BLOQUEADO

Quizás algunos de nosotros estemos familiarizados con esta sintaxis ya que ha sido importada y adaptada de MySQL. Con SKIP LOCKED, podemos omitir cualquier FILA bloqueada al realizar operaciones SELECCIONAR o ACTUALIZAR. Definitivamente es una característica útil, especialmente para aplicaciones que permiten a varios usuarios reservar recursos limitados como habitaciones de hotel, asientos de avión, entradas para conciertos, etc. 

Índices ignorados

Índices ignorados es similar a la característica de "índices invisibles" en MySQL 8. Cualquier índice que esté visible y mantenido pero que el optimizador no utilice podría definirse como Índices ignorados. Esto puede ser muy útil cuando se prueba para ver qué superficies si eliminamos un índice antes de eliminarlo. En caso de que surja algún problema, podríamos habilitarlo nuevamente al instante (marcando el índice IGNORADO/NO IGNORADO).

JSON_TABLE

Esta función de tabla también se importa de MySQL, donde podría transformar datos o documentos JSON en un formato relacional. En esta versión, MariaDB habilitó una vista de tabla en los datos JSON almacenados en la base de datos de MariaDB y, al usar SQL, todas las consultas se devolverán como una tabla normal.

Compatibilidad con Oracle

MariaDB fue la pionera en el mundo de las bases de datos de código abierto que agregó compatibilidad con PL/SQL. A partir de MariaDB 10.3, se agregaron muchas sintaxis y funciones para facilitar la migración de Oracle a MariaDB. En cuanto a MariaDB 10.6, las siguientes son características introducidas para hacer que MariaDB sea más compatible con PL/SQL:

  • Se permiten subconsultas anónimas en una cláusula FROM (sin cláusula AS) en modo ORACLE

  • ADD_MONTHS() añadido 

    • función para sumar/restar meses de un valor de fecha dado.

  • TO_CHAR() agregado

    • admite NÚMERO, FECHA, FECHAHORA, MARCA DE TIEMPO, etc. como parámetros y devuelve un valor de TEXTO formateado/convertido

  • SYS_GUID() agregado

    • similar a la función UUID en MariaDB

  • MINUS está asignado a EXCEPT en UNION 

  • La función ROWNUM devuelve el número actual de filas aceptadas en el contexto actual 

Replicación, Galera y Binlog

En esta categoría, MariaDB ha introducido binlog_expire_logs_seconds como una forma de alias para expire_logs_days, lo que significa que cualquier cambio en cualquiera de ellos se reflejará automáticamente en el otro. Además, binlog_expire_logs_seconds acepta una precisión de 1/1000000 días. Esto es excepcionalmente útil en escrituras de gran volumen en el maestro y cuando el entorno tiene espacio en disco limitado.

Además de eso, MariaDB también introdujo variables de sistema wsrep_mode. Esta variable habilita funciones de WSREP que no forman parte del comportamiento predeterminado, como BINLOG_ROW_FORMAT_ONLY, DISALLOW_LOCAL_GTID, REQUIRED_PRIMARY_KEY, REPLICATE_ARIA, REPLICATE_MYISAM, STRICT_REPLICATION.

Esquema del sistema

La siguiente característica es sys_schema, una colección de vistas, funciones y procedimientos. No hay duda de que sys_schema ayuda a los DBA y desarrolladores de muchas maneras al interpretar los datos; a partir de él se podría recopilar mucha información e información de diagnóstico. sys_schema no solo se usa para solucionar problemas de rendimiento, sino que también ayuda a administrar los recursos de manera eficiente. Afortunadamente, ahora está disponible en MariaDB 10.6.

Esquema de información

La característica recién agregada en esta categoría es INFORMACION_ESQUEMA.PALABRAS CLAVE e INFORMACION_ESQUEMA.SQL_FUNCCIONES. La tabla KEYWORDS contiene alrededor de 694 filas de palabras clave de MariaDB, mientras que la tabla SQL_FUNCTIONS contiene alrededor de 234 filas de funciones de MariaDB. Con estas dos tablas, ahora podemos obtener el esquema de información relacionado con ellas en caso de que lo necesitemos.

Conclusión

Además de estas nuevas características introducidas en MariaDB 10.6, se realizaron muchas otras mejoras que no se tratan en esta publicación. Si bien muchas de estas funciones se tomaron de MySQL, estas adiciones siguen siendo muy beneficiosas para los usuarios.

Como se mencionó anteriormente, ClusterControl actualmente es compatible con MariaDB 10.6. Con ClusterControl, puede actualizar fácilmente a la última versión de tecnología sin estrés. Si aún no está familiarizado con ClusterControl, puede evaluarlo gratis durante 30 días, no se requiere CC.

Para mantenerse actualizado con las últimas noticias y mejores prácticas para las bases de datos de código abierto más populares, no olvide seguirnos en Twitter y LinkedIn, y suscríbase a nuestro boletín para recibir actualizaciones.