Versão estável do MariaDB 10.5

Após um ano de desenvolvimento e quatro pré-lançamentos preparado primeira versão estável de uma nova ramificação DBMS MariaDB 10.4, dentro do qual está sendo desenvolvido um ramo do MySQL que mantém compatibilidade com versões anteriores e diferente integração de mecanismos de armazenamento adicionais e recursos avançados. O apoio à nova sucursal será prestado durante 5 anos, até junho de 2025.

O desenvolvimento do MariaDB é supervisionado pela Fundação MariaDB independente, seguindo um processo de desenvolvimento completamente aberto e transparente, independente de fornecedores individuais. MariaDB é fornecido no lugar do MySQL em muitas distribuições Linux (RHEL, SUSE, Fedora, openSUSE, Slackware, OpenMandriva, ROSA, Arch Linux, Debian) e foi implementado em projetos grandes como Wikipedia, Google Cloud SQL и Nimbuzz.

Chave melhorias MariaDB 10.5:

  • Adicionado mecanismo de armazenamento S3, que permite hospedar tabelas MariaDB no Amazon S3 ou em qualquer outro armazenamento em nuvem pública ou privada que ofereça suporte à API S3. Há suporte para a colocação de tabelas regulares e particionadas no S3. Quando tabelas particionadas são colocadas na nuvem, elas podem ser usadas diretamente, inclusive de outro servidor que tenha acesso ao armazenamento S3.
  • Adicionado mecanismo de armazenamento Loja de Colunas, que armazena dados vinculados a colunas e usa massivamente paralelo arquitetura distribuída. O mecanismo é baseado nos desenvolvimentos do armazenamento MySQL InfiniDBName e destina-se a organizar o processamento e execução de consultas analíticas sobre grandes quantidades de dados (Data Warehouse).
    ColumnStore armazena dados não linha por linha, mas por colunas, o que permite otimizar o desempenho do agrupamento por colunas de um grande banco de dados, incluindo petabytes de dados. São suportados escalonamento linear, armazenamento de dados compactados, particionamento vertical e horizontal e execução eficiente de solicitações concorrentes.

  • Todos os executáveis ​​que começam com a palavra "mysql" foram renomeados para usar a palavra "mariadb". Os nomes antigos são armazenados na forma de links simbólicos.
  • Adicionado novo tipo de dados INET6 para armazenar endereços IPv6.
  • Foi feito trabalho para separar os privilégios em componentes menores. Em vez do privilégio SUPER geral, é proposta uma série de privilégios seletivos “BINLOG ADMIN”,
    "REPLAY DO BINLOG"
    "CONEXÃO ADMIN"
    "ADMINISTRADOR FEDERADO"
    "READ_ONLY ADMIN",
    "ADMINISTRADOR MESTRE DE REPLICAÇÃO"
    "REPLICAÇÃO ESCRAVO ADMIN" e
    "DEFINIR USUÁRIO".

  • O privilégio "REPLICATION CLIENT" foi renomeado para "BINLOG MONITOR" e a expressão "SHOW MASTER STATUS" para "SHOW BINLOG STATUS". A renomeação esclarece o comportamento e não está associada ao politicamente correto, o projeto não abandona os termos mestre/escravo e ainda adicionou novos privilégios “MASTER ADMIN” e “SLAVE ADMIN”. Ao mesmo tempo, uma nova chave “REPLICA” foi adicionada à expressão SQL, que é sinônimo de “SLAVE”.
  • Para algumas expressões, os privilégios necessários para executá-las foram alterados. "SHOW BINLOG EVENTS" agora requer privilégios "BINLOG MONITOR" em vez de "REPLICATION SLAVE", "SHOW SLAVE HOSTS" requer privilégios "REPLICATION MASTER ADMIN" em vez de "REPLICATION SLAVE", "SHOW SLAVE STATUS" requer "REPLICATION SLAVE ADMIN" ou " SUPER" em vez de "REPLICATION CLIENT", "SHOW RELAYLOG EVENTS" requer direitos de "REPLICATION SLAVE ADMIN" em vez de "REPLICATION SLAVE".
  • Desenhos adicionados "INSERIR...RETORNANDO"E"SUBSTITUIR...RETORNANDO", retornando uma lista de entradas inseridas/substituídas no formato como se os valores fossem retornados usando uma expressão SELECT (semelhante a "DELETE ... RETURNING").

    INSERIR EM VALORES t2 (1,'Cão'),(2,'Leão'),(3,'Tigre'),(4,'Leopardo')
    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 |
    +——+———+———+———-+

  • Expressões adicionadas "EXCETO TODOS"E"INTERSECTAR TUDO» excluir/suplementar o resultado com um conjunto específico de valores.
  • Agora é possível especificar comentários dentro dos blocos “CREATE DATABASE” e “ALTER DATABASE”.
  • Adicionadas construções para renomear índices e colunas "ALTER TABLE... RENOMEAR ÍNDICE/CHAVE" E "ALTERAR TABELA ... RENOMEAR COLUNA".
  • Nas operações “ALTER TABLE” e “RENAME TABLE” foi adicionado suporte à condição “IF EXISTS” para realizar a operação somente se a tabela existir;
  • Para índices em “CREATE TABLE” o atributo “VISÍVEL".
  • Adicionada expressão "CYCLE" para identificar loops recursivos CTE.
  • Recursos adicionados JSON_ARRAYAGG и JSON_OBJECTAGG para retornar um array ou objeto JSON com os valores da coluna especificada.
  • Adicionadas tabelas de informações de serviço (THREAD_POOL_GROUPS, THREAD_POOL_QUEUES, THREAD_POOL_STATS e THREAD_POOL_WAITS) para o conjunto de encadeamentos (thread_pool).
  • A expressão ANALYZE é expandida para mostrar o tempo gasto na verificação do bloco WHERE e na execução de operações auxiliares.
  • O otimizador de processamento de intervalo leva em consideração as características “IS NOT NULL”
  • O tamanho dos arquivos temporários usados ​​na classificação com os tipos VARCHAR, CHAR e BLOB foi significativamente reduzido.
  • В log binário, usado para organizar a replicação, novos campos de metadados foram adicionados, incluindo Chave Primária, Nome da Coluna, Conjunto de Caracteres e Tipo de Geometria. O utilitário mariadb-binlog e os comandos “SHOW BINLOG EVENTS” e “SHOW RELAYLOG EVENTS” fornecem exibição de sinalizadores de replicação.
  • projeto RETIRAR TABELA agora é seguro remove tabelas que permanecem no mecanismo de armazenamento mesmo se não houver arquivos ".frm" ou ".par".
  • Implementada uma versão acelerada por hardware da função crc32() para CPUs AMD64, ARMv8 e POWER 8.
  • Alteradas algumas configurações padrão. innodb_encryption_threads foi aumentado para 255 e max_sort_length foi aumentado de 4 para 8.
  • São apresentadas inúmeras otimizações de desempenho para o mecanismo InnoDB.
  • Foi adicionado suporte total ao mecanismo de replicação multimestre síncrona Galera GTID (Global Transaction ID), identificadores de transação comuns a todos os nós do cluster.
  • A transição para uma nova filial da biblioteca foi feita PCRE2 (Expressões regulares compatíveis com Perl), em vez da clássica série PCRE 8.x.
  • Novas versões de chicotes foram propostas para conexão ao SGBD MariaDB e MySQL a partir de programas em Python e C: Conector MariaDB/Python 1.0.0 и Conector MariaDB/C 3.1.9. A ligação Python está em conformidade com Python DB API 2.0, é escrita em C e usa a biblioteca Connector/C para se conectar ao servidor.

Fonte: opennet.ru

Adicionar um comentário