Versión estable de MariaDB 10.6

Luego de un año de desarrollo y tres lanzamientos preliminares, se ha publicado la primera versión estable de la nueva rama del DBMS MariaDB 10.6, dentro de la cual se está desarrollando una rama de MySQL que mantiene compatibilidad con versiones anteriores y se distingue por la integración de motores de almacenamiento adicionales. y capacidades avanzadas. El soporte para la nueva sucursal se brindará durante 5 años, hasta julio de 2026.

El desarrollo de MariaDB es supervisado por la Fundación MariaDB independiente, siguiendo un proceso de desarrollo completamente abierto y transparente que es independiente de los proveedores individuales. MariaDB se suministra como reemplazo de MySQL en muchas distribuciones de Linux (RHEL, SUSE, Fedora, openSUSE, Slackware, OpenMandriva, ROSA, Arch Linux, Debian) y se ha implementado en proyectos tan grandes como Wikipedia, Google Cloud SQL y Nimbuzz.

Mejoras clave en MariaDB 10.6:

  • La ejecución atómica de las expresiones “CREATE TABLE|VIEW|SEQUENCE|TRIGGER”, “ALTER TABLE|SEQUENCE”, “RENAME TABLE|TABLES”, “DROP TABLE|VIEW|VIEW|TRIGGER|DATABASE” está asegurada (o la expresión es completamente terminado o todo se devuelve a su estado original). En el caso de operaciones “DROP TABLE” que eliminan varias tablas a la vez, la atomicidad está asegurada a nivel de cada tabla individual. El propósito del cambio es garantizar la integridad en caso de una falla del servidor durante una operación. Anteriormente, después de una falla, las tablas y archivos temporales podían permanecer, la sincronización de tablas en los motores de almacenamiento y los archivos frm podía verse interrumpida y las tablas individuales podían permanecer sin nombre cuando se cambiaba el nombre de varias tablas a la vez. La integridad se garantiza manteniendo un registro de recuperación del estado, cuya ruta se puede determinar mediante la nueva opción “—log-ddl-recovery=file” (ddl-recovery.log de forma predeterminada).
  • Se ha implementado la construcción “SELECT...OFFSET...FETCH” definida en el estándar SQL 2008, que permite mostrar un cierto número de filas a partir de un desplazamiento específico, con la posibilidad de utilizar el parámetro “WITH TIES” para adjunte otro valor siguiente. Por ejemplo, la expresión “SELECCIONAR i DE t1 ORDEN POR i ASC COMPENSACIÓN 1 FILAS BUSCAR LAS PRIMERAS 3 FILAS CON LAZOS” difiere de la construcción “SELECCIONAR i DE t1 ORDEN POR i ASC LÍMITE 3 COMPENSACIÓN 1” al generar un elemento más en la cola (en lugar de 3 se imprimirán 4 líneas).
  • Para el motor InnoDB, se ha implementado la sintaxis "SELECCIONAR... SALTAR BLOQUEADO", que le permite excluir filas para las que no se puede establecer un bloqueo ("BLOQUEAR EN MODO COMPARTIR" o "PARA ACTUALIZAR").
  • Se ha implementado la capacidad de ignorar índices (en MySQL 8, esta funcionalidad se denomina "índices invisibles"). Marcar un índice para ignorarlo se realiza usando el indicador IGNORED en la instrucción ALTER TABLE, después de lo cual el índice permanece visible y actualizado, pero el optimizador no lo utiliza.
  • Se agregó la función JSON_TABLE() para convertir datos JSON en formato relacional. Por ejemplo, un documento JSON se puede transformar para usarlo en el contexto de una tabla, que se puede especificar dentro de un bloque FROM en una instrucción SELECT.
  • Compatibilidad mejorada con Oracle DBMS: se agregó soporte para subconsultas anónimas dentro del bloque FROM. Se ha implementado la construcción MENOS (equivalente a EXCEPTO). Se agregaron las funciones ADD_MONTHS(), TO_CHAR(), SYS_GUID() y ROWNUM().
  • En el motor InnoDB, se ha acelerado la inserción en tablas vacías. El formato de cadena COMPRIMIDO está configurado en modo de solo lectura de forma predeterminada. El esquema SYS_TABLESPACES reemplazó a SYS_DATAFILES y refleja directamente el estado del sistema de archivos. Se proporciona soporte de escritura diferida para el espacio de tabla temporal. Se ha suspendido la compatibilidad con el antiguo algoritmo de suma de comprobación, que se mantuvo por compatibilidad con MariaDB 5.5.
  • En el sistema de replicación, el tamaño del valor del parámetro master_host se incrementó de 60 a 255 caracteres, y master_user a 128. Se agregó la variable binlog_expire_logs_segundos para configurar el tiempo de vencimiento del registro binario en segundos (anteriormente, el tiempo de reinicio era determinado sólo en días a través de la variable expire_logs_days).
  • El mecanismo de replicación multimaestro síncrono de Galera implementa la variable wsrep_mode para configurar los parámetros de la API WSREP (Write Set REPlication). Se permitió la conversión de Galera de comunicaciones no cifradas a TLS sin detener el clúster.
  • Se ha implementado el esquema sys-schema, que contiene una colección de vistas, funciones y procedimientos para analizar las operaciones de la base de datos.
  • Se agregaron tablas de servicios para analizar el rendimiento de la replicación.
  • Las vistas INFORMACIÓN_SCHEMA.KEYWORDS e INFORMACIÓN_SCHEMA.SQL_FUNCTIONS se han agregado al conjunto de tablas de información, mostrando una lista de palabras clave y funciones disponibles.
  • Se han eliminado los repositorios TokuDB y CassandraSE.
  • La codificación utf8 se ha movido de la representación de cuatro bytes utf8mb4 (U+0000..U+10FFFF) a la representación de tres bytes utf8mb3 (cubre el rango Unicode U+0000..U+FFFF).
  • Se agregó soporte para la activación de sockets en systemd.
  • El complemento GSSAPI ha agregado soporte para nombres de grupos y SID de Active Directory.
  • Se agregó verificación de la presencia del archivo de configuración $MARIADB_HOME/my.cnf además de $MYSQL_HOME/my.cnf.
  • Se han implementado nuevas variables del sistema binlog_expire_logs_segundos, innodb_deadlock_report, innodb_read_only_compressed, wsrep_mode e Innodb_buffer_pool_pages_lru_freed.

Fuente: opennet.ru

Añadir un comentario