Suporte ao recurso MariaDB no Amazon RDS
O RDS para MariaDB é compatível com os recursos do MariaDB. Alguns recursos podem ter suporte limitado ou privilégios restritos.
Você pode filtrar novos recursos do Amazon RDS na página What's New with Database? (Novidades sobre bancos de dados)MariaDB 2023
.
nota
As listas a seguir não são completas.
Tópicos
Suporte a recursos do MariaDB nas versões principais do Amazon RDS para MariaDB
Nas seções a seguir, localize informações sobre compatibilidade de recursos do MariaDB nas versões principais do Amazon RDS para MariaDB:
Tópicos
Para obter informações sobre versões secundárias compatíveis do Amazon RDS para MariaDB, consulte MariaDB em versões do Amazon RDS.
Compatibilidade do MariaDB 10.11 com o Amazon RDS
O Amazon RDS é compatível com estes novos recursos nas instâncias de banco de dados que executam o MariaDB versão 10.11 ou posterior.
-
Plug-in de verificação de reutilização de senha: você pode usar o plug-in de verificação de reutilização de senha do MariaDB para impedir que os usuários reutilizem senhas e definir o período de retenção das senhas. Para obter mais informações, consulte Plug-in de verificação de reutilização de senha
. -
Autorização GRANT TO PUBLIC: você pode conceder privilégios a todos os usuários que têm acesso ao seu servidor. Para obter mais informações, consulte GRANT TO PUBLIC
. -
Separação dos privilégios SUPER e READ ONLY ADMIN: você pode remover os privilégios READ ONLY ADMIN de todos os usuários, mesmo aqueles que anteriormente tinham privilégios SUPER.
-
Segurança: agora você pode definir a opção
--ssl
como padrão para seu cliente MariaDB. O MariaDB não desabilita mais silenciosamente o SSL se a configuração estiver incorreta. -
Comandos e funções SQL: agora você pode usar o comando
SHOW ANALYZE FORMAT=JSON
e as funçõesROW_NUMBER
,SFORMAT
eRANDOM_BYTES
.SFORMAT
permite a formatação de strings e é habilitado por padrão. Você pode converter partição em tabela e tabela em partição usando um único comando. Há também várias melhorias em torno das funçõesJSON_*()
. As funçõesDES_ENCRYPT
eDES_DECRYPT
foram descontinuadas na versão 10.10 e posterior. Para obter mais informações, consulte SFORMAT. -
Aprimoramentos do InnoDB: os aprimoramentos abaixo incluem os seguintes itens:
-
Melhorias na performance do redo log para reduzir a amplificação de gravação e melhorar a simultaneidade.
-
A possibilidade de alterar o espaço de tabela undo sem reinicializar o diretório de dados. Esse aprimoramento reduz as despesas operacionais indiretas do ambiente de gerenciamento. É necessário reiniciar, mas não é preciso reinicializar após a alteração do espaço de tabela undo.
-
Suporte para
CHECK TABLE … EXTENDED
e para índices descendentes internamente. -
Melhorias na inserção em massa.
-
-
Alterações no log binário: essas mudanças incluem os seguintes itens:
-
Registro em log de
ALTER
em duas fases para diminuir a latência da replicação. O parâmetrobinlog_alter_two_phase
é desabilitado por padrão, mas pode ser habilitado por meio de grupos de parâmetros. -
Registro em log de
explicit_defaults_for_timestamp
. -
Não há mais registro em log de
INCIDENT_EVENT
quando a transação pode ser revertida com segurança.
-
-
Melhorias na replicação: as instâncias de banco de dados do MariaDB versão 10.11 usam a replicação GTID por padrão quando a principal a comporta. Além disso,
Seconds_Behind_Master
é mais preciso. -
Clientes: você pode usar novas opções de linha de comando para
mysqlbinglog
emariadb-dump
. Você pode usarmariadb-dump
para despejar e restaurar dados históricos. -
Versionamento do sistema: você pode modificar o histórico. O MariaDB cria automaticamente novas partições.
-
DDL atômico:
CREATE OR REPLACE
agora é atômico. Se a instrução não for bem-sucedida, ela será totalmente revertida. -
Gravação de redo log: o redo log grava de forma assíncrona.
-
Funções armazenadas: as funções armazenadas agora comportam os mesmos parâmetros
IN
,OUT
eINOUT
dos procedimentos armazenados. -
Parâmetros obsoletos ou removidos: os seguintes parâmetros foram descontinuados ou removidos para instâncias de banco de dados do MariaDB versão 10.11:
-
Parâmetros dinâmicos: os seguintes parâmetros agora são dinâmicos para instâncias de banco de dados do MariaDB versão 10.11:
-
Novos valores padrão para parâmetros: os seguintes parâmetros têm novos valores padrão para instâncias de banco de dados MariaDB versão 10.11:
-
O valor padrão do parâmetro explicit_defaults_for_timestamp
foi alterado de OFF
paraON
. -
O valor padrão do parâmetro optimizer_prune_level
foi alterado de 1
para2
.
-
-
Novos valores padrão para parâmetros: os seguintes parâmetros têm novos valores padrão para instâncias de banco de dados MariaDB versão 10.11:
-
Os valores válidos para o parâmetro old
foram mesclados com aqueles para o parâmetro old-mode . -
Os valores válidos para o parâmetro histogram_type
agora incluem JSON_HB
. -
O intervalo de valores válido para o parâmetro innodb_log_buffer_size
agora vai de 262144
a4294967295
(de 256 KB a 4.096 MB). -
O intervalo de valores válido para o parâmetro innodb_log_file_size
agora vai de 4194304
a512GB
(de 4 MB a 512 GB). -
Os valores válidos para o parâmetro optimizer_prune_level
agora incluem 2
.
-
-
Novos parâmetros: os seguintes parâmetros agora são dinâmicos para instâncias de banco de dados do MariaDB versão 10.11:
-
O parâmetro binlog_alter_two_phase
pode melhorar a performance da replicação. -
O parâmetro log_slow_min_examined_row_limit
pode melhorar a performance. -
Os parâmetros log_slow_query
e arquivo_log_slow_query são aliases de slow_query_log
eslow_query_log_file
, respectivamente.
-
Para obter uma lista de todos os recursos e documentação, consulte as informações a seguir no site do MariaDB.
Versões | Melhorias e mudanças | Notas de release |
---|---|---|
MariaDB 10.7 |
||
MariaDB 10.8 |
||
MariaDB 10.9 |
||
MariaDB 10.10 |
||
MariaDB 10.11 |
Para ver uma lista de recursos não compatíveis, consulte Recursos do MariaDB incompatíveis com o Amazon RDS.
Compatibilidade do MariaDB 10.6 com o Amazon RDS
O Amazon RDS é compatível com estes novos recursos nas instâncias de banco de dados que executam o MariaDB versão 10.6 ou posterior:
-
Mecanismo de armazenamento do MyRocks: você pode usar o mecanismo de armazenamento MyRocks com o RDS para MariaDB para otimizar o consumo de armazenamento de suas aplicações Web de alta performance com uso intenso de gravação. Para obter mais informações, consulte Mecanismos de armazenamento compatíveis com MariaDB no Amazon RDS e MyRocks
. -
Autenticação de banco de dados AWS Identity and Access Management (IAM): você pode usar a autenticação de banco de dados do IAM para melhorar a segurança e o gerenciamento central de conexões com suas instâncias de banco de dados do MariaDB. Para ter mais informações, consulte Autenticação do banco de dados do IAM para MariaDB, MySQL e PostgreSQL.
-
Opções de atualização: agora você pode atualizar para o RDS para MariaDB versão 10.6 de qualquer versão principal anterior (10.3, 10.4, 10.5). Também é possível restaurar um snapshot de uma instância de banco de dados do MySQL 5.6 ou 5.7 existente para uma instância do MariaDB 10.6. Para ter mais informações, consulte Atualizar o mecanismo de banco de dados do MariaDB.
-
Replicação atrasada: já é possível definir um período configurável pelo qual uma réplica de leitura fica atrasada em relação ao banco de dados de origem. Em uma configuração de replicação padrão do MariaDB, há um atraso mínimo de replicação entre a origem e a réplica. Com a replicação atrasada, é possível definir um atraso intencional como estratégia para a recuperação de desastres. Para obter mais informações, consulteConfigurar a replicação atrasada com o MariaDB
-
Compatibilidade com o Oracle PL/SQL: usando o RDS para MariaDB versão 10.6, você pode migrar mais facilmente suas aplicações Oracle herdadas para o Amazon RDS. Para obter mais informações, consulte SQL_MODE=ORACLE
. -
DDL atômico: suas instruções Dynamic Data Language (DDL – Linguagem de dados dinâmica) podem ser relativamente seguras contra falhas com o RDS para MariaDB versão 10.6. As instruções
CREATE TABLE
,ALTER TABLE
,RENAME TABLE
,DROP TABLE
,DROP DATABASE
e outras instruções DDL relacionadas agora são atômicas. Se a instrução não for bem-sucedida, ela será totalmente revertida. Para obter mais informações, consulte Atomic DDL(DDL atômica). -
Outros aprimoramentos: esses aprimoramentos incluem uma função
JSON_TABLE
para transformar dados JSON em formato relacional dentro do SQL e carregamento de dados de tabela vazia mais rápido com o InnoDB. Eles também incluem um novosys_schema
para análise e solução de problemas, aprimoramento do otimizador para ignorar índices não utilizados e melhorias de performance. Para obter mais informações, consulte JSON_TABLE. -
Novos valores padrão para parâmetros – os seguintes parâmetros têm novos valores padrão para instâncias de banco de dados MariaDB versão 10.6:
-
O valor padrão dos seguintes parâmetros foi alterado de
utf8
parautf8mb3
:Embora os valores padrões tenham sido alterados por esses parâmetros, não há alteração funcional. Para obter mais informações, consulte Supported Character Sets and Collations
(Conjuntos e agrupamentos de caracteres compatíveis) na documentação do MariaDB. -
O valor padrão do parâmetro collation_connection
foi alterado de utf8_general_ci
parautf8mb3_general_ci
. Embora o valor padrão tenha sido alterado para esse parâmetro, não há alteração funcional. -
O valor padrão do parâmetro old_mode
mudou de não definido para UTF8_IS_UTF8MB3
. Embora o valor padrão tenha sido alterado para esse parâmetro, não há alteração funcional.
-
Para obter uma lista de todos os recursos do MariaDB 10.6 e sua respectiva documentação, consulte Changes and improvements in MariaDB 10.6
Para ver uma lista de recursos não compatíveis, consulte Recursos do MariaDB incompatíveis com o Amazon RDS.
Suporte para MariaDB 10.5 no Amazon RDS
O Amazon RDS oferece suporte a estes novos recursos nas instâncias de banco de dados que executam o MariaDB versão 10.5 ou posterior:
-
Melhorias do InnoDB– o MariaDB versão 10.5 inclui melhorias no InnoDB. Para obter mais informações, consulte InnoDB: Performance Improvements etc.
(InnoDB: melhorias na performance, etc.) na documentação do MariaDB. -
Atualizações do esquema de performance – o MariaDB versão 10.5 inclui atualizações do esquema de performance. Para obter mais informações, consulte Performance Schema Updates to Match MySQL 5.7 Instrumentation and Tables
(Atualizações do esquema de performance correspondentes a instrumentação e tabelas do MariaDB). -
Um arquivo no redo log do InnoDB – nas versões do MariaDB anteriores à versão 10.5, o valor do parâmetro
innodb_log_files_in_group
foi definido como2
. No MariaDB versão 10.5, o valor desse parâmetro é definido como1
.Se você estiver atualizando de uma versão anterior para o MariaDB versão 10.5 e não modificar os parâmetros, o valor do parâmetro
innodb_log_file_size
será inalterado. No entanto, ele se aplica a um arquivo de log em vez de dois. O resultado é que a instância de banco de dados MariaDB versão 10.5 atualizada usa metade do tamanho do redo log que estava usando antes da atualização. Essa mudança pode ter um impacto notável na performance. Para resolver esse problema, você pode dobrar o valor do parâmetroinnodb_log_file_size
. Para obter informações sobre como modificar parâmetros, consulte Modificar parâmetros em um grupo de parâmetros de banco de dados no Amazon RDS. -
Comando SHOW SLAVE STATUS sem suporte – em versões do MariaDB anteriores à versão 10.5, o comando
SHOW SLAVE STATUS
exigia o privilégioREPLICATION SLAVE
. Na versão 10.5 do MariaDB, o comandoSHOW REPLICA STATUS
equivalente requer o privilégioREPLICATION REPLICA ADMIN
. Esse novo privilégio não é concedido ao usuário mestre do RDS.Em vez de usar o comando
SHOW REPLICA STATUS
, execute o novo procedimentomysql.rds_replica_status
armazenado para retornar informações semelhantes. Para obter mais informações, consulte mysql.rds_replica_status. -
Comando SHOW RELAYLOG EVENTS sem suporte – em versões do MariaDB anteriores à versão 10.5, o comando
SHOW RELAYLOG EVENTS
exigiu o privilégioREPLICATION SLAVE
. Na versão 10.5 do MariaDB, esse comando requer o privilégioREPLICATION REPLICA ADMIN
. Esse novo privilégio não é concedido ao usuário mestre do RDS. -
Novos valores padrão para parâmetros – os seguintes parâmetros têm novos valores padrão para instâncias de banco de dados MariaDB versão 10.5:
-
O valor padrão do parâmetro max_connections
foi alterado para LEAST({DBInstanceClassMemory/25165760},12000)
. Para obter informações sobre a função do parâmetroLEAST
, consulte Funções de parâmetros de banco de dados. -
O valor padrão do parâmetro innodb_adaptive_hash_index
foi alterado para OFF
(0
). -
O valor padrão do parâmetro innodb_checksum_algorithm
foi alterado para full_crc32
. -
O valor padrão do parâmetro innodb_log_file_size
foi alterado para 2 GB.
-
Para obter uma lista de todos os recursos do MariaDB 10.5 e suas respectivas documentações, consulte Changes and improvements in MariaDB 10.5
Para ver uma lista de recursos não compatíveis, consulte Recursos do MariaDB incompatíveis com o Amazon RDS.
Suporte para MariaDB 10.4 no Amazon RDS
O Amazon RDS oferece suporte a estes novos recursos nas instâncias de banco de dados executando o MariaDB versão 10.4 ou posterior:
-
Melhorias de segurança da conta do usuário – Expiração da senha
e melhorias no bloqueio de conta -
Melhorias do otimizador – recurso Optimizer Trace
-
Melhorias do InnoDB – Suporte instantâneo a DROP COLUMN
e extensão VARCHAR
instantânea paraROW_FORMAT=DYNAMIC
eROW_FORMAT=COMPACT
-
Novos parâmetros – Incluindo tcp_nodedelay
, tls_version e gtid_cleanup_batch_size
Para obter uma lista de todos os recursos do MariaDB 10.4 e suas respectivas documentações, consulte Changes and improvements in MariaDB 10.4
Para ver uma lista de recursos não compatíveis, consulte Recursos do MariaDB incompatíveis com o Amazon RDS.
Suporte para MariaDB 10.3 no Amazon RDS
O Amazon RDS oferece suporte a estes novos recursos nas instâncias de banco de dados executando a versão 10.3 ou superior do MariaDB:
-
Compatibilidade com Oracle – analisador de compatibilidade do PL/SQL, sequências; INTERSECT e EXCEPT para complementar UNION; novas declarações TYPE OF e ROW TYPE OF e colunas invisíveis
-
Processamento de dados temporais – tabelas com controle de versão pelo sistema para a consulta de estados passados e atuais do banco de dados.
-
Flexibilidade – agregados definidos pelo usuário, compressão de colunas independentemente de armazenamento e suporte a protocolo de proxy para retransmitir o endereço IP do cliente para o servidor
-
Capacidade de gerenciamento – operações ADD COLUMN instantâneas e operações de linguagem de definição de dados (DDL) com notificação imediata de erros (fast-fail).
Para obter uma lista de todos os recursos do MariaDB 10.3 e suas respectivas documentações, consulte Mudanças e aprimoramentos no MariaDB 10.3
Para ver uma lista de recursos não compatíveis, consulte Recursos do MariaDB incompatíveis com o Amazon RDS.
Mecanismos de armazenamento compatíveis com MariaDB no Amazon RDS
O RDS para MariaDB é compatível com os seguintes mecanismos de armazenamento.
Atualmente, não há suporte a outros mecanismos de armazenamento para o RDS para MariaDB.
O mecanismo de armazenamento InnoDB
Embora o MariaDB suporte vários mecanismos de armazenamento com recursos variados, nem todos eles são otimizados para durabilidade de dados e recuperação. O InnoDB é o mecanismo de armazenamento recomendado para instâncias de banco de dados MariaDB no Amazon RDS. Os recursos de restauração point-in-time e de snapshot do Amazon RDS exigem um mecanismo de armazenamento de recuperação de falha e são compatíveis somente com o mecanismo de armazenamento para a versão MariaDB.
Para obter mais informações, consulte InnoDB
O mecanismo de armazenamento MyRocks
O mecanismo de armazenamento MyRocks está disponível no RDS para MariaDB versão 10.6 e posteriores. Antes de usar o mecanismo de armazenamento MyRocks em um banco de dados de produção, recomendamos que você execute testes e benchmarking completos para verificar quaisquer benefícios potenciais em relação ao InnoDB para seu caso de uso.
O grupo de parâmetros padrão para o MariaDB versão 10.6 inclui parâmetros do MyRocks. Para ter mais informações, consulte Parâmetros para MariaDB e Grupos de parâmetros para Amazon RDS.
Para criar uma tabela que usa o mecanismo de armazenamento MyRocks, especifique ENGINE=RocksDB
na instrução CREATE TABLE
. O exemplo a seguir cria uma tabela que usa o mecanismo de armazenamento MyRocks.
CREATE TABLE test (a INT NOT NULL, b CHAR(10)) ENGINE=RocksDB;
É altamente recomendável não executar transações que envolvam as tabelas do InnoDB e do MyRocks. O MariaDB não garante ACID (atomicidade, consistência, isolamento, durabilidade) para transações em todos os mecanismos de armazenamento. Embora seja possível ter tabelas InnoDB e MyRocks em uma instância de banco de dados, não recomendamos essa abordagem, exceto durante uma migração de um mecanismo de armazenamento para o outro. Quando há tabelas InnoDB e MyRocks em uma instância de banco de dados, cada mecanismo de armazenamento tem seu próprio grupo de buffers, o que pode causar degradação da performance.
O MyRocks não é compatível com o isolamento de SERIALIZABLE
ou bloqueios de lacunas. Portanto, geralmente você não pode usar o MyRocks com replicação baseada em instruções. Para obter mais informações, consulte MyRocks and Replication
Atualmente, você só pode modificar os seguintes parâmetros do MyRocks:
O mecanismo de armazenamento MyRocks e o mecanismo de armazenamento InnoDB podem competir pela memória com base nas configurações dos parâmetros rocksdb_block_cache_size
e innodb_buffer_pool_size
. Em alguns casos, você pode ter a intenção de usar apenas o mecanismo de armazenamento MyRocks em uma instância de banco de dados específica. Se for o caso, recomendamos definir o parâmetro innodb_buffer_pool_size minimal
para um valor mínimo e o rocksdb_block_cache_size
para o valor mais alto possível.
Você pode acessar os arquivos de log do MyRocks usando as operações DescribeDBLogFiles
e DownloadDBLogFilePortion
.
Para obter mais informações sobre o MyRocks, consulte MyRocks
Aquecimento de cache do MariaDB no Amazon RDS
O aquecimento de cache do InnoDB pode fornecer ganhos de performance para sua instância de banco de dados do MariaDB salvando o estado atual do grupo de buffer quando a instância de banco de dados é desativada e, em seguida, recarregando o grupo de buffer a partir das informações salvas quando a instância do banco de dados for iniciada. Essa abordagem ignora a necessidade de o grupo de buffer "aquecer" do uso normal de banco de dados e, em vez disso, pré-carrega o grupo de buffer com as páginas para consultas comuns conhecidas. Para obter mais informações sobre o aquecimento de cache, consulte Despejo e restauração do grupo de buffers
O aquecimento de cache está habilitado por padrão para instâncias de banco de dados do MariaDB 10.3 e posteriores. Para habilitá-lo, defina os parâmetros innodb_buffer_pool_dump_at_shutdown
e innodb_buffer_pool_load_at_startup
para 1 no grupo de parâmetros da sua instância de banco de dados. Mudar esses valores de parâmetro em um grupo de parâmetros afeta todas as instâncias de banco de dados do MariaDB que usam esse grupo de parâmetros. Para habilitar o aquecimento de cache para instâncias específicas de banco de dados do MariaDB, talvez seja necessário criar um grupo de parâmetros nessas instâncias de banco de dados. Para obter informações sobre grupos de parâmetros, consulte Grupos de parâmetros para Amazon RDS.
O aquecimento de cache fornece principalmente um benefício de performance para instâncias de banco de dados que usam armazenamento padrão. Se você usar o armazenamento de PIOPS, não perceberá um benefício significativo de performance normalmente.
Importante
Se sua instância de banco de dados do MariaDB não fechar normalmente, por exemplo durante um failover, o estado do grupo de buffer não é salvo no disco. Nesse caso, o MariaDB carrega qualquer arquivo de grupo de buffer disponível quando a instância de banco de dados for reiniciada. Não há problema, mas o grupo de buffer restaurado pode não refletir o estado mais recente do grupo de buffer antes do reinício. Para garantir que você tenha um estado recente do grupo de buffer disponível para aquecer o cache do na inicialização, recomendamos que você descarte periodicamente o grupo de buffer "sob demanda". Você pode descartar ou carregar o grupo de buffer sob demanda.
Você pode criar um evento para descartar o grupo de buffer automaticamente e em um intervalo regular. Por exemplo, a seguinte declaração cria um evento chamado periodic_buffer_pool_dump
que descarta o grupo de buffer de hora em hora.
CREATE EVENT periodic_buffer_pool_dump ON SCHEDULE EVERY 1 HOUR DO CALL mysql.rds_innodb_buffer_pool_dump_now();
Para obter mais informações, consulte Eventos
Como descartar e carregar o grupo de buffer sob demanda
Você pode salvar e carregar o cache do sob demanda usando os seguintes procedimentos armazenados:
Para descartar o estado atual do grupo de buffer para o disco, chame o procedimento armazenado mysql.rds_innodb_buffer_pool_dump_now.
Para carregar o estado salvo do grupo de buffer a partir do disco, chame o procedimento armazenado mysql.rds_innodb_buffer_pool_load_now.
Para cancelar uma operação de carregamento em andamento, chame o procedimento armazenado mysql.rds_innodb_buffer_pool_load_abort.
Recursos do MariaDB incompatíveis com o Amazon RDS
Os seguintes recursos do MariaDB não têm suporte no Amazon RDS:
-
Mecanismo de armazenamento do S3
-
Plug-in de autenticação – GSSAPI
-
Plug-in de autenticação – soquete Unix
-
AWSPlugin de criptografia do Key Management
-
Replicação atrasada para versões do MariaDB anteriores à 10.6
-
Criptografia nativa do MariaDB em repouso para InnoDB e Aria
Você pode habilitar a criptografia em repouso para uma instância de banco de dados do MariaDB seguindo as instruções em Criptografar recursos do Amazon RDS.
-
HandlerSocket
-
Tipo de tabela JSON para versões do MariaDB anteriores à 10.6
-
MariaDB ColumnStore
-
Cluster Galera do MariaDB
-
Replicação em várias origens
-
Mecanismo de armazenamento MyRocks para versões do MariaDB anteriores à 10.6
-
Plugin de validação de senha,
simple_password_check
ecracklib_password_check
-
Mecanismo de armazenamento do Spider
-
Mecanismo de armazenamento do Sphinx
-
Mecanismo de armazenamento do TokuDB
-
Atributos de objeto específicos do mecanismo de armazenamento, conforme descrito em Atributos de nova tabela/campo/índice definidos pelo mecanismo
na documentação do MariaDB -
Criptografia de tabela e do espaço de tabela
-
Plug-in de gerenciamento de chaves Hashicorp
-
Executar duas atualizações em paralelo
Para oferecer uma experiência de serviço gerenciado, o Amazon RDS não fornece acesso ao shell para instâncias de bancos de dados e restringe o acesso a determinados procedimentos e tabelas do sistema que exigem privilégios avançados. O Amazon RDS oferece suporte a acesso a bancos de dados em uma instância de banco de dados que usa qualquer aplicação de cliente SQL padrão. O Amazon RDS não permite o acesso direto do host a uma instância de banco de dados usando Telnet, Secure Shell (SSH) ou Windows Remote Desktop Connection.