Após um ano de desenvolvimento e seis versões preliminares a primeira versão estável da nova linha de SGBD , que se desenvolve como um fork do MySQL, mantendo a compatibilidade retroativa e com a integração de mecanismos de armazenamento adicionais e recursos expandidos. O suporte para a nova versão será fornecido por 5 anos, até junho de 2024.
O desenvolvimento do MariaDB é supervisionado pela organização independente MariaDB Foundation, de acordo com um processo de desenvolvimento totalmente aberto e transparente, sem depender de fornecedores individuais. O MariaDB é fornecido em vez do MySQL em muitas distribuições Linux (RHEL, SUSE, Fedora, openSUSE, Slackware, OpenMandriva, ROSA, Arch Linux, Debian) e foi implementado em grandes projetos como , e .
Principais :
- A tecnologia de replicação multi-master síncrona está incluída , permitindo a aplicação de uma topologia ativa-ativa multi-master, que permite leitura e gravação em qualquer nó. Com a replicação síncrona, todos os nós sempre contêm dados atualizados, ou seja, garante-se a ausência de transações perdidas, uma vez que a transação é registrada apenas após a propagação dos dados em todos os nós. A replicação é realizada de forma paralela, no nível das linhas, enviando apenas informações sobre as mudanças;
- Em sistemas baseados em Unix, o plugin de autenticação é ativado por padrão , permitindo o uso das contas presentes no sistema para se conectar ao SGBD através de um socket unix local;
- Adicionada a designação da vida útil da senha do usuário, após a qual a senha é marcada como expirada. Para definir a expiração da senha nas operações "CREATE USER" e "ALTER USER", a expressão "PASSWORD EXPIRE INTERVAL N DAY" foi adicionada;
- Suporte adicionado dos usuários do SGBD através da expressão "ACCOUNT LOCK" nas operações "CREATE USER" e "ALTER USER";
- O desempenho da verificação de privilégios foi significativamente acelerado em configurações com um grande número de usuários ou regras de acesso;
- usando as tabelas mysql.user e mysql.host. Para armazenar contas e privilégios globais, agora é utilizada a tabela mysql.global_priv;
- Em de autenticação suporte à expressão "SET PASSWORD";
- possibilidade de usar mais de um plugin de autenticação para cada conta, o que pode ser útil para uma transição gradual de usuários para o plugin . Ao criar o usuário root@localhost com o script mysql_install_db, agora são incluídos por padrão dois plugins de autenticação — unix_socket e mysql_native_password;
- No armazenamento InnoDB, foi implementada a operação de exclusão instantânea de colunas (ALTER TABLE … DROP COLUMN … ALGORITHM=INSTANT) e a alteração da ordem das colunas. O volume do log inicial de operações de reversão (redo log) foi reduzido. Adicionada a suportar rotação de chaves para innodb_encrypt_log. Implementado o algoritmo de verificação de somas de verificação.
innodb_checksum_algorithm=full_crc32. Foi garantida a expansão instantânea do tipo VARCHAR e a alteração da codificação de texto para colunas não indexadas; - O otimizador foi aprimorado. Adicionada a capacidade de rastreamento do otimizador, que pode ser ativada através de uma variável de sistema. . Por padrão, a participação de estatísticas, independente dos mecanismos de armazenamento.
Adicionados dois novos modos use_stat_tables — COMPLEMENTARY_FOR_QUERIES e PREFERABLY_FOR_QUERIES. O modo optimize_join_buffer_size foi ativado. Novos rowid_filter e condition_pushdown_from_having; - O suporte a tabelas versionadas de sistema, que não apenas armazenam o corte atual dos dados, mas também retêm informações sobre todas as alterações anteriores, foi ampliado. com intervalos de tempo;
- Adicionada um novo comando 'FLUSH SSL' para recarregar certificados SSL sem reiniciar o servidor;
- Nos comandos 'INSTALL PLUGIN', 'UNINSTALL PLUGIN' e 'UNINSTALL SONAME', foi adicionada a suporte para expressões 'IF NOT EXISTS' e 'IF EXISTS';
- Foram propostas tabelas de sistema resilientes a falhas, para as quais é utilizado o mecanismo ;
- Foi realizada a transição para o uso do padrão C++11 (operacões atômicas foram ativadas);
- A performance das propriedades de local 'Collation' para Unicode foi significativamente aumentada, permitindo definir regras de ordenação e métodos de correspondência levando em conta o significado dos caracteres;
- plugin para definir tipos de campos personalizados;
- Foi adicionada a suporte a funções UDF de janela Na operação 'FLUSH TABLES',
- modo 'BACKUP LOCK', que pode ser utilizado durante o backup de arquivos de banco de dados; suporte a comandos de servidor que começam com o nome mariadb, alternativos aos comandos que começam com 'mysql' (por exemplo, mariadump em vez de mysqldump).
- Lançamento do framework Qt 5.13
Fonte: opennet.ru
