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 2022
.
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.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 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.2, 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 mais informações, consulte Atualizar o mecanismo de banco de dados 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. -
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.
Suporte para MariaDB 10.2 no Amazon RDS
O Amazon RDS oferece suporte a estes novos recursos nas instâncias de banco de dados executando a versão 10.2 ou superior do MariaDB:
ALTER USER
Expressões de tabela comuns
Compactação de eventos para reduzir o tamanho do log binário
CREATE USER: novas opções para limitar o uso de recursos e SSL/TLS
EXECUTE IMMEDIATE
Flashback
InnoDB — O mecanismo de armazenamento padrão atual em vez do XtraDB
InnoDB — Definição dinâmica do tamanho do grupo de buffer
Funções JSON
Funções de janela
WITH
Para obter uma lista de todos os recursos do MariaDB 10.2 e suas respectivas documentações, consulte Mudanças e aprimoramentos no MariaDB 10.2
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 obter mais informações, consulte Parâmetros para MariaDB e Trabalhar com grupos de parâmetros.
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.2 e posterior. 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 Trabalhar com grupos de parâmetros.
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.
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
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.