Limitações e problemas conhecidos do RDS para MariaDB - Amazon Relational Database Service

Limitações e problemas conhecidos do RDS para MariaDB

Os itens a seguir referem-se a limitações e problemas conhecidos no uso do RDS para MariaDB.

nota

Essa lista não é exaustiva.

Limites de tamanho de arquivo do MariaDB no Amazon RDS

Para instâncias de banco de dados do MariaDB, o tamanho máximo de uma tabela é 16 TB ao usar tablespaces de arquivo por tabela do InnoDB. Esse limite também restringe o espaço de tabela do sistema a um tamanho máximo de 16 TB. Os espaços de tabelas de arquivo por tabela do InnoDB (com cada tabela em seu próprio espaço de tabela) são definidos por padrão para instâncias de bancos de dados MariaDB. Esse limite não está relacionado ao limite máximo de armazenamento para instâncias de banco de dados do MariaDB. Para obter mais informações sobre limites de armazenamento, consulte Armazenamento de instâncias de banco de dados do Amazon RDS.

Existem vantagens e desvantagens na utilização de espaços de tabela de arquivo por tabela do InnoDB, dependendo do seu aplicativo. Para determinar a melhor abordagem para a aplicação, consulte File-per-table tablespaces na documentação do MySQL.

Não recomendamos permitir que as tabelas cresçam até o tamanho máximo do arquivo. Em geral, uma prática recomendada é particionar dados em tabelas menores, o que pode melhorar a performance e os tempos de recuperação.

Uma opção que você pode usar para dividir uma tabela grande em tabelas menores é o particionamento. O particionamento distribui partes da sua tabela grande em arquivos separados com base em regras que você especifica. Por exemplo, se você armazenar transações por data, poderá criar regras de particionamento que distribuem transações antigas em arquivos separados usando o particionamento. Em seguida, periodicamente, você pode arquivar os dados históricos de transações que não precisam estar prontamente disponíveis para o seu aplicativo. Para ter mais informações, consulte Partitioning na documentação do MySQL.

Como determinar o tamanho de todos os espaços de tabela do InnoDB
  • Use o seguinte comando SQL para determinar se algumas das suas tabelas são muito grandes e são candidatas para particionamento.

    nota

    No MariaDB 10.6 e posterior, essa consulta também retorna o tamanho do espaço de tabela do sistema InnoDB.

    Em versões do MariaDB anteriores à 10.6, não é possível determinar o tamanho do espaço de tabela do sistema InnoDB consultando as tabelas do sistema. Recomendamos fazer upgrade para uma versão posterior.

    SELECT SPACE,NAME,ROUND((ALLOCATED_SIZE/1024/1024/1024), 2) as "Tablespace Size (GB)" FROM information_schema.INNODB_SYS_TABLESPACES ORDER BY 3 DESC;
Como determinar o tamanho das tabelas de usuários que não são do InnoDB
  • Use o seguinte comando SQL para determinar se algumas das suas tabelas de usuários que não são do InnoDB são muito grandes.

    SELECT TABLE_SCHEMA, TABLE_NAME, round(((DATA_LENGTH + INDEX_LENGTH+DATA_FREE) / 1024 / 1024/ 1024), 2) As "Approximate size (GB)" FROM information_schema.TABLES WHERE TABLE_SCHEMA NOT IN ('mysql', 'information_schema', 'performance_schema') and ENGINE<>'InnoDB';

Para habilitar espaços de tabela de arquivo por tabela do InnoDB

  • Defina o parâmetro innodb_file_per_table como 1 no grupo de parâmetros da instância de banco de dados.

Para desabilitar espaços de tabela de arquivo por tabela do InnoDB

  • Defina o parâmetro innodb_file_per_table como 0 no grupo de parâmetros da instância de banco de dados.

Para obter informações sobre como atualizar um grupo de parâmetros, consulte Trabalhar com grupos de parâmetros.

Ao ativar ou desativar os espaços de tabela de arquivo por tabela do InnoDB, você pode emitir um comando ALTER TABLE. Você pode usar esse comando para mover uma tabela do espaço de tabela global para seu próprio espaço de tabela. Ou você pode mover uma tabela de seu próprio espaço de tabela para o espaço de tabela global. Veja um exemplo a seguir.

ALTER TABLE table_name ENGINE=InnoDB, ALGORITHM=COPY;

Palavra reservada InnoDB

InnoDB é uma palavra reservada ao RDS para MariaDB. Não é possível usar esse nome para um banco de dados do MariaDB.

Portas personalizadas

O Amazon RDS bloqueia conexões com a porta personalizada 33060 para o mecanismo MariaDB. Escolha uma porta diferente para o seu mecanismo MariaDB.

Insights de Performance

Os contadores do InnoDB não estão visíveis no Insights de Performance para o RDS para MariaDB versão 10.11 porque não há mais suporte para eles na comunidade do MariaDB.