Lanzamiento estable de la base de datos MariaDB 10.5

Después de un año de desarrollo y cuatro versiones preliminares preparado el primer lanzamiento estable de la nueva rama de base de datos MariaDB 10.4, en la cual se desarrolla una bifurcación de MySQL que mantiene la compatibilidad hacia atrás y se distingue con la integración de motores de almacenamiento adicionales y capacidades ampliadas. El soporte para esta nueva rama se llevará a cabo durante 5 años, hasta junio de 2025.

El desarrollo de MariaDB es supervisado por la organización independiente MariaDB Foundation, según un proceso de desarrollo completamente abierto y transparente, que no depende de fabricantes individuales. MariaDB se ofrece en lugar de MySQL en muchas distribuciones de Linux (RHEL, SUSE, Fedora, openSUSE, Slackware, OpenMandriva, ROSA, Arch Linux, Debian) y se implementa en grandes proyectos como Wikipedia, Google Cloud SQL y Nimbuzz.

Mejoras clave mejoras MariaDB 10.5:

  • Se agregaron motores de almacenamiento S3, que permite almacenar tablas de MariaDB en Amazon S3 o en cualquier otro almacenamiento en la nube público o privado que soporte la API S3. Se admite el almacenamiento en S3 tanto de tablas normales como de tablas particionadas. Al almacenar en la nube tablas particionadas, pueden ser utilizadas directamente desde otro servidor que tenga acceso al almacenamiento S3.
  • Se agregaron motores de almacenamiento ColumnStore, que almacena datos en función de columnas y utiliza arquitectura distribuida de procesamiento masivamente paralelo. El motor se basa en los desarrollos del almacenamiento MySQL InfiniDB y está diseñado para realizar análisis y ejecutar consultas analíticas sobre grandes volúmenes de datos (Data Warehouse).
    ColumnStore almacena datos no por filas, sino en columnas, lo que permite optimizar la ejecución de agrupaciones sobre columnas de bases de datos de gran tamaño, que incluyen petabytes de datos. Se admite escalado lineal, almacenamiento de datos en formato comprimido, particionamiento vertical y horizontal, y una ejecución eficaz de consultas concurrentes.
  • Todos los archivos ejecutables que comienzan con la palabra «mysql» han sido renombrados utilizando la palabra «mariadb». Se han mantenido los antiguos nombres en forma de enlaces simbólicos.
  • Se agregó un nuevo tipo de dato INET6 para almacenar direcciones IPv6.
  • Se ha trabajado en la división de privilegios en componentes más pequeños. En lugar del privilegio general SUPER, se ofrece una serie de privilegios selectivos «BINLOG ADMIN»,
    «BINLOG REPLAY»,
    «CONNECTION ADMIN»,
    «FEDERATED ADMIN»,
    «READ_ONLY ADMIN»,
    «REPLICATION MASTER ADMIN»,
    «REPLICATION SLAVE ADMIN» y
    «SET USER».
  • El privilegio «REPLICATION CLIENT» ha sido renombrado a «BINLOG MONITOR», y la expresión «SHOW MASTER STATUS» ahora es «SHOW BINLOG STATUS». Este cambio aclara el comportamiento y no está relacionado con la corrección política; el proyecto no renuncia a los términos master/slave e incluso ha añadido nuevos privilegios como «MASTER ADMIN» y «SLAVE ADMIN». Además, en las expresiones SQL se ha añadido una nueva clave «REPLICA», que es sinónimo de «SLAVE».
  • Para algunas expresiones se han cambiado los privilegios necesarios para su ejecución. «SHOW BINLOG EVENTS» ahora requiere el derecho «BINLOG MONITOR» en lugar de «REPLICATION SLAVE», «SHOW SLAVE HOSTS» requiere privilegios de «REPLICATION MASTER ADMIN» en lugar de «REPLICATION SLAVE», «SHOW SLAVE STATUS» requiere derechos de «REPLICATION SLAVE ADMIN» o «SUPER» en lugar de «REPLICATION CLIENT», y «SHOW RELAYLOG EVENTS» requiere derechos de «REPLICATION SLAVE ADMIN» en lugar de «REPLICATION SLAVE».
  • Se han añadido las construcciones «INSERT … RETURNING» y «REPLACE … RETURNING», que devuelven una lista de filas insertadas/reemplazadas en el formato como si los valores se devolvieran al utilizar la expresión SELECT (similar a «DELETE … RETURNING»).

    INSERT INTO t2 VALUES (1,'Dog'),(2,'Lion'),(3,'Tiger'),(4,'Leopard')
    RETURNING id2,id2+id2,id2&id2,id2||id2;
    +——+———+———+———-+
    | id2 | id2+id2 | id2&id2 | id2||id2 |
    +——+———+———+———-+
    | 1 | 2 | 1 | 1 |
    | 2 | 4 | 2 | 1 |
    | 3 | 6 | 3 | 1 |
    | 4 | 8 | 4 | 1 |
    +——+———+———+———-+

  • Se han añadido las expresiones «EXCEPT ALL» y «INTERSECT ALL» para excluir/añadir el resultado de un conjunto específico de valores.
  • Ahora es posible especificar comentarios dentro de los bloques «CREATE DATABASE» y «ALTER DATABASE».
  • Se han añadido construcciones para renombrar índices y columnas «ALTER TABLE … RENAME INDEX / KEY» y «ALTER TABLE … RENAME COLUMN«.
  • En la operación «ALTER TABLE» y «RENAME TABLE» se ha añadido soporte para la condición «IF EXISTS» para realizar la operación solo si la tabla existe;
  • Para los índices en «CREATE TABLE» se ha implementado el atributo «VISIBLE«.
  • Se ha añadido la expresión «CYCLE» para identificar ciclos recursivos CTE.
  • Se han añadido funciones JSON_ARRAYAGG y JSON_OBJECTAGG para devolver un array u objeto JSON con los valores de la columna especificada.
  • Se han añadido tablas de información administrativas (THREAD_POOL_GROUPS, THREAD_POOL_QUEUES, THREAD_POOL_STATS y THREAD_POOL_WAITS) para el grupo de hilos (thread_pool).
  • La expresión ANALYZE se ha ampliado para mostrar el tiempo que se gasta en verificar el bloque WHERE y realizar operaciones auxiliares.
  • En el optimizador de procesamiento de rangos se han considerado las características «IS NOT NULL»
  • Se ha reducido significativamente el tamaño de los archivos temporales utilizados en la ordenación con tipos VARCHAR, CHAR y BLOB.
  • En registro binario, utilizado para la organización de la replicación, se han añadido nuevos campos de metadatos, incluyendo Primary Key, Column Name, Character Set y Geometry Type. En la utilidad mariadb-binlog y en los comandos «SHOW BINLOG EVENTS» y «SHOW RELAYLOG EVENTS» se ha asegurado la visualización de las banderas de replicación.
  • Construcción DROP TABLE ahora confiablemente elimina tablas que permanecen en el motor de almacenamiento, incluso sin los archivos «.frm» o «.par».
  • Se ha implementado una versión acelerada por hardware de la función crc32() para CPU AMD64, ARMv8 y POWER 8.
  • Se han cambiado algunas configuraciones predeterminadas. El parámetro innodb_encryption_threads se ha incrementado a 255 y el valor max_sort_length ha aumentado de 4 a 8.
  • Se han presentado numerosas optimizaciones de rendimiento del motor InnoDB.
  • En el mecanismo de replicación multi-maestro síncrona Galera se ha añadido soporte completo GTID (Global Transaction ID), identificadores de transacciones únicos para todos los nodos del clúster.
  • Se ha realizado la transición a una nueva rama de la biblioteca PCRE2 (Expresiones Regulares Compatibles con Perl), en lugar de la clásica serie PCRE 8.x.
  • Se han propuesto nuevas versiones de conectores para conectarse a bases de datos MariaDB y MySQL desde programas en lenguajes Python y C: MariaDB Connector/Python 1.0.0 y MariaDB Connector/C 3.1.9. El conector para Python cumple con Python DB API 2.0, está escrito en C y utiliza la biblioteca Connector/C para la conexión al servidor.

Fuente: opennet.ru

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster