Limitações do RDS para MariaDB
Veja a seguir importantes limitações de uso do RDS para MariaDB.
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
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 obter mais informações, consulte Partitioning
Para determinar o tamanho do arquivo de uma tabela
Use o seguinte comando SQL para determinar se algumas das suas tabelas são muito grandes e são candidatas para particionamento. Para atualizar as estatísticas de tabela, emita um comando ANALYZE TABLE
em cada tabela. Para obter mais informações, consulte ANALYZE TABLE statement
SELECT TABLE_SCHEMA, TABLE_NAME, round(((DATA_LENGTH + INDEX_LENGTH) / 1024 / 1024), 2) As "Approximate size (MB)", DATA_FREE FROM information_schema.TABLES WHERE TABLE_SCHEMA NOT IN ('mysql', 'information_schema', 'performance_schema');
Para habilitar espaços de tabela de arquivo por tabela do InnoDB
Para habilitar espaços de tabela de arquivo por tabela do InnoDB, defina o parâmetro
innodb_file_per_table
como1
no grupo de parâmetros da instância de banco de dados.
Para desabilitar espaços de tabela de arquivo por tabela do InnoDB
Para desabilitar espaços de tabela de arquivo por tabela do InnoDB, defina o parâmetro
innodb_file_per_table
como0
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.