AliSQL est une branche indépendante de MySQL développée par Alibaba Cloud. Elle intègre l'ensemble des fonctionnalités de MySQL et propose des capacités de niveau entreprise, telles que la sauvegarde et la restauration, la surveillance, l'optimisation des performances ainsi que les instances en lecture seule. Cette rubrique présente un aperçu des fonctionnalités offertes par AliSQL et compare cette solution aux autres versions de MySQL.
RDS for MySQL s'appuie sur le noyau AliSQL, une branche indépendante de MySQL fortement personnalisée par Alibaba Cloud. Outre les fonctionnalités standard de MySQL, elle offre des capacités de niveau entreprise, notamment en matière de sécurité, de sauvegarde, de restauration, de surveillance, d'optimisation des performances et de gestion des instances en lecture seule. Ce document décrit les principales fonctionnalités d'AliSQL et les compare à celles des autres versions de MySQL.
AliSQL
AliSQL est une branche de MySQL maintenue par Alibaba Cloud. Elle enrichit l'édition communautaire avec des fonctionnalités de niveau entreprise comparables à celles de MySQL Enterprise Edition, telles que la sauvegarde et la récupération de niveau entreprise, un pool de threads et des requêtes parallèles. AliSQL propose également des fonctionnalités compatibles avec Oracle, comme le moteur de séquence.
Disponibilité des fonctionnalités par version
Fonctionnalités
Fonctionnalité | Description | Versions de MySQL | |||
8,4 | 8,0 | 5,7 | 5,6 | ||
Vous permet d'utiliser des instructions SQL pour interroger ou restaurer les données à un instant précis, garantissant une récupération rapide après des opérations accidentelles. | Prise en charge | Prise en charge | Non pris en charge | Non pris en charge | |
Sépare les threads des sessions à l'aide d'un pool de threads, permettant à un nombre restreint de threads de traiter les tâches issues de nombreuses sessions actives. | Prise en charge | Prise en charge | Prise en charge | Prise en charge | |
Stabilise les plans d'exécution MySQL grâce à des indications fournies à l'optimiseur et aux index. Inclut la boîte à outils DBMS_OUTLN pour une gestion simplifiée. | Prise en charge | Prise en charge | Prise en charge | Non pris en charge | |
Simplifie la génération des valeurs de séquence. | Prise en charge | Prise en charge | Prise en charge | Prise en charge | |
Permet aux instructions DML de renvoyer un ensemble de résultats. Inclut la boîte à outils DBMS_TRANS pour une gestion simplifiée. | Prise en charge | Prise en charge | Non pris en charge | Non pris en charge | |
Chiffre les colonnes de données spécifiées afin d'empêcher tout accès non autorisé aux données en clair via les outils de la plateforme cloud. | Non pris en charge | Prise en charge | Prise en charge | Non pris en charge | |
Performance
Fonctionnalité | Description | Versions de MySQL | |||
8,4 | 8,0 | 5,7 | 5,6 | ||
Améliore les performances des requêtes grâce à un cache repensé qui surmonte les limites du cache de requêtes natif de MySQL. | Non pris en charge | Non pris en charge | Pris en charge | Non pris en charge | |
Écrit le contenu du journal binaire dans le journal redo de manière synchrone lors de la validation des transactions, ce qui réduit les E/S disque et améliore les performances de la base de données. | Pris en charge | Pris en charge | Non pris en charge | Non pris en charge | |
Regroupe les instructions dans une file d'attente afin de réduire la surcharge liée aux conflits. Les instructions susceptibles d'entrer en conflit, telles que celles portant sur la même ligne, sont placées dans le même compartiment. | Pris en charge | Pris en charge | Pris en charge | Non pris en charge | |
Permet des validations et des annulations de transactions rapides. Son utilisation conjointe avec les fonctionnalités returning et statement queue améliore considérablement le débit métier. | Pris en charge | Pris en charge | Pris en charge | Pris en charge | |
Améliore les performances d'écriture de la base de données dans les scénarios à forte concurrence en écrivant les journaux binaires en parallèle lors de la validation des transactions. | Pris en charge | Pris en charge | Non pris en charge | Non pris en charge | |
Stabilité
Fonctionnalité | Description | Versions MySQL | |||
8,4 | 8,0 | 5,7 | 5,6 | ||
Propose un contrôle de concurrence au niveau des instructions (CCL). Inclut la boîte à outils DBMS_CCL pour une gestion simplifiée. | Prise en charge | Prise en charge | Prise en charge | Non pris en charge | |
Plug-in MySQL qui collecte et agrège les métriques de performance internes d'une instance. | Prise en charge | Prise en charge | Prise en charge | Prise en charge | |
Garantit la stabilité du système en supprimant les fichiers volumineux de manière asynchrone. | Prise en charge | Prise en charge | Prise en charge | Prise en charge | |
Outil puissant permettant la surveillance de la charge de travail au niveau de l'instance, l'analyse des corrélations et l'optimisation des performances. Il vous aide à évaluer rapidement les charges de base de données, à identifier la cause première des problèmes de performance et à améliorer la stabilité de la base de données. | Prise en charge | Prise en charge | Prise en charge | Non pris en charge | |
Optimise l'étape d'écriture du journal binaire pour les validations de transactions volumineuses. Cela permet d'éviter les temps d'écriture prolongés, les blocages d'instance et les plantages, ce qui améliore la stabilité de l'instance. | Prise en charge | Prise en charge | Prise en charge | Non pris en charge | |
Optimisation DDL
Fonctionnalité | Description | Versions de MySQL | |||
8,4 | 8,0 | 5,7 | 5,6 | ||
Ajoute des colonnes instantanément en modifiant uniquement les métadonnées, ce qui évite une reconstruction complète de la table. Cette opération rapide, économe en ressources et non bloquante est idéale pour les environnements nécessitant des modifications fréquentes du schéma. | Prise en charge | Prise en charge | Prise en charge | Non pris en charge | |
Modifie instantanément le type de données d'une colonne en changeant uniquement les métadonnées, ce qui évite une copie complète de la table. Cela réduit le temps d'exécution de l'opération et améliore l'efficacité des opérations et de la maintenance. | Prise en charge | Prise en charge | Non pris en charge | Non pris en charge | |
Modifie instantanément le jeu de caractères d'une colonne en changeant uniquement les métadonnées, ce qui évite une reconstruction de la table. Cela réduit le temps d'exécution de l'opération et améliore l'efficacité des opérations et de la maintenance. | Prise en charge | Prise en charge | Prise en charge | Non pris en charge | |
Effectue des modifications de type de colonne au niveau du moteur InnoDB, permettant des changements en ligne sans bloquer les opérations de lecture et d'écriture. | Prise en charge | Prise en charge | Prise en charge | Non pris en charge | |
Améliore la gestion des conflits de clé unique lors de l'exécution des instructions DDL afin de réduire les échecs et d'augmenter le taux de réussite. | Prise en charge | Prise en charge | Non pris en charge | Non pris en charge | |
Vous permet de définir des limites BPS et IOPS pour les opérations DDL afin de contrôler leur consommation de ressources d'E/S et de garantir la stabilité de la charge de travail. | Prise en charge | Prise en charge | Non pris en charge | Non pris en charge | |
Empêche les opérations DDL de bloquer les sessions si un verrou MDL ne peut pas être acquis rapidement. Cela évite l'accumulation de connexions et améliore la stabilité et la disponibilité de l'instance. | Prise en charge | Prise en charge | Non pris en charge | Non pris en charge | |
Vous permet d'utiliser des indices pour contrôler le délai d'attente des verrous MDL pour les threads DDL, ce qui aide à prévenir le blocage des sessions et l'accumulation de connexions dues à des attentes prolongées. | Prise en charge | Prise en charge | Non pris en charge | Non pris en charge | |
Optimise le mécanisme de gestion du pool de tampons lors des opérations DDL afin de réduire leur impact sur les performances et d'augmenter la concurrence des opérations DDL en ligne. | Prise en charge | Prise en charge | Prise en charge | Prise en charge | |
Déplace les tables supprimées vers une corbeille avec une période de rétention configurable pour faciliter la récupération des données. Inclut la boîte à outils DBMS_RECYCLE pour une gestion simplifiée. | Prise en charge | Prise en charge | Prise en charge | Non pris en charge |
Optimisation de la réplication
Fonctionnalité | Description | Versions MySQL | |||
8,4 | 8,0 | 5,7 | 5,6 | ||
optimisation du délai de réplication pour le traitement par lots | Optimise la logique d'attente de la réplication parallèle afin d'éliminer les délais lors du traitement des données par lots. Cette solution est idéale pour les tâches de suppression, de réorganisation ou d'importation de données effectuées pendant les heures creuses. | Prise en charge | Prise en charge | Non pris en charge | Non pris en charge |
optimisation du délai d'expiration de la réplication semi-synchrone | Transmet les journaux binaires aux instances secondaires lors de l'exécution de transactions volumineuses. Cela empêche la réplication semi-synchrone d'expirer et de basculer en mode asynchrone, garantissant ainsi une fiabilité élevée des données et des performances stables. | Prise en charge | Prise en charge | Non pris en charge | Non pris en charge |
Permet aux instances principales et secondaires d'exécuter des opérations DDL simultanément en notifiant l'instance secondaire dès que l'instance principale commence. Cela élimine pratiquement les délais de réplication liés aux DDL et garantit une haute disponibilité. | Prise en charge | Prise en charge | Non pris en charge | Non pris en charge | |
optimisation du délai de réplication des transactions volumineuses | Permet aux instances principales et secondaires d'exécuter des transactions volumineuses simultanément en notifiant l'instance secondaire dès que l'instance principale commence. Cela élimine pratiquement les délais de réplication et garantit une haute disponibilité. | Non pris en charge | Prise en charge | Non pris en charge | Non pris en charge |
optimisation du délai des petites transactions à forte concurrence | Optimise la logique d'attente des verrous entre les threads E/S, SQL et de travail afin de réduire les attentes de verrouillage, ce qui élimine pratiquement les délais de réplication pour les petites transactions à forte concurrence. | Non pris en charge | Prise en charge | Non pris en charge | Non pris en charge |