Limites et problèmes connus pour RDS for MariaDB - Amazon Relational Database Service

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Limites et problèmes connus pour RDS for MariaDB

Les éléments suivants sont des problèmes et limitations connus liés à l'utilisation de RDS for MariaDB.

Note

Cette liste n'est pas exhaustive.

Limites de taille des fichiers MariaDB dans Amazon RDS

Pour les instances de base de données MariaDB, la taille maximale d'une table est de 16 To lors de l'utilisation des espaces de table file-per-table InnoDB. Cette limite restreint également l'espace de table du système à une taille maximum de 16 To. Les espaces de table file-per-table InnoDB (avec des tables chacune dans leur propre espace de table) sont définis par défaut pour les instances de base de données MariaDB. Cette limite n'est pas liée à la limite de stockage maximale pour les instances de base de données MariaDB. Pour plus d'informations sur les limites de stockage, veuillez consulter Stockage d'instance de base de données Amazon RDS.

Selon votre application, l'utilisation des espaces de table file-per-table InnoDB présente des avantages et des inconvénients. Pour déterminer l'approche optimale pour votre application, veuillez consulter File-Per-Table Tablespaces dans la documentation MySQL.

Il est déconseillé d'autoriser les tables à dépasser la taille maximale de fichier. En général, une meilleure pratique consiste à partitionner les données en tables plus petites, ce qui peut améliorer la performance et les temps de récupération.

Vous pouvez utiliser l'option de partitionnement pour diviser une grande table en tables plus petites. Le partitionnement répartit des portions de votre grande table en fichiers distincts en fonction des règles que vous spécifiez. Par exemple, si vous stockez des transactions par date, vous pouvez créer des règles de partitionnement qui répartissent des transactions plus anciennes en fichiers distincts en utilisant le partitionnement. Ensuite, vous pouvez archiver régulièrement les données de transaction historiques qui n'ont pas besoin d'être rapidement utilisables par votre application. Pour de plus amples informations, veuillez consulter Partitionnement dans la documentation MySQL.

Pour déterminer la taille de tous les espaces de table InnoDB
  • Utilisez la commande SQL suivante pour déterminer si certaines de vos tables sont trop volumineuses et peuvent faire l'objet d'un partitionnement.

    Note

    Pour MariaDB 10.6 et versions supérieures, cette requête renvoie également la taille de l'espace de table système InnoDB.

    Pour les versions de MariaDB antérieures à 10.6, vous ne pouvez pas déterminer la taille de l'espace de table système InnoDB en interrogeant les tables système. Nous vous recommandons de procéder à une mise à niveau vers une version ultérieure.

    SELECT SPACE,NAME,ROUND((ALLOCATED_SIZE/1024/1024/1024), 2) as "Tablespace Size (GB)" FROM information_schema.INNODB_SYS_TABLESPACES ORDER BY 3 DESC;
Pour déterminer la taille des tables utilisateur non-InnoDB
  • Utilisez la commande SQL suivante pour déterminer si certaines de vos tables utilisateur non-InnoDB sont trop volumineuses.

    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';

Pour activer les espaces de table file-per-table InnoDB

  • Définissez le paramètre innodb_file_per_table sur 1 dans le groupe de paramètres pour l'instance de base de données.

Pour désactiver les espaces de table file-per-table InnoDB

  • Définissez le paramètre innodb_file_per_table sur 0 dans le groupe de paramètres pour l'instance de base de données.

Pour plus d'informations sur la mise à jour d'un groupe de paramètres, consultez Utilisation des groupes de paramètres.

Après avoir activé ou désactivé les espaces de table file-per-table InnoDB, vous pouvez émettre une commande ALTER TABLE. Vous pouvez utiliser cette commande pour déplacer une table de l'espace de table global vers son propre espace de table. Vous pouvez également déplacer une table de son propre espace de table vers l'espace de table global. Voici un exemple.

ALTER TABLE table_name ENGINE=InnoDB, ALGORITHM=COPY;

Mot réservé InnoDB

InnoDB est un mot réservé pour RDS for MariaDB. Vous ne pouvez pas utiliser ce nom pour une base de données MariaDB.

Ports personnalisés

Amazon RDS bloque les connexions au port personnalisé 33060 pour le moteur MariaDB. Choisissez un port différent pour votre moteur MariaDB.

Performance Insights

Les compteurs InnoDB ne sont pas visibles dans l'analyse des performances pour RDS for MariaDB version 10.11, car la communauté MariaDB ne les prend plus en charge.