Cette rubrique explique comment activer la fonctionnalité serverless pour les nœuds de lecture seule In-Memory Column Index (IMCI).
Prérequis
Votre cluster PolarDB for MySQL doit utiliser l'édition Enterprise, exécuter la version 8.0 du noyau et comporter au moins un nœud de lecture seule IMCI.
Options d'implémentation
Définir une plage de mise à l'échelle des ressources sur un nœud de lecture seule IMCI à spécification fixe : cette méthode ajoute des capacités serverless à un nœud doté d'une spécification fixe. La spécification fixe fournit une capacité de traitement de base, tandis que les ressources peuvent augmenter temporairement pour gérer la charge lorsque celle-ci dépasse ce niveau de référence.
Créer un nœud de lecture seule IMCI sans spécification fixe : cette méthode crée un nœud sans spécification fixe. Ses ressources s'adaptent à la demande en fonction de la charge de travail, ce qui est idéal pour les cas d'utilisation sensibles aux coûts.
Avantages
Réduction des coûts lors des cycles de pointe et de creux
Une architecture serverless excelle dans la gestion des charges de travail fluctuantes. Elle réduit automatiquement les ressources pendant les périodes de creux et les augmente pendant les pics d'activité, ce qui permet de réduire efficacement les coûts. Par exemple, prenons une charge de travail nécessitant une spécification de 32 cœurs et 64 Go pendant 12 heures de pointe, et seulement une spécification de 16 cœurs et 32 Go pendant 12 heures de creux. Une configuration serverless basée sur la spécification 16 cœurs/32 Go peut réduire les coûts des nœuds de calcul de 25 % par rapport à une spécification fixe de 32 cœurs/64 Go.
Optimisations de l'architecture serverless
IMCI propose les optimisations suivantes pour les ressources élastiques dans une architecture serverless afin d'améliorer encore les performances et l'expérience utilisateur :
Optimisation de l'utilisation des ressources : les nœuds de lecture seule IMCI disposent d'un mécanisme complet de gestion des ressources qui prend en charge la configuration en ligne des paramètres système clés, tels que le cache, les pools de threads et la mémoire d'exécution. Dans une architecture serverless, ces paramètres sont automatiquement ajustés lors de la mise à l'échelle des ressources (à la hausse ou à la baisse) pour garantir une utilisation maximale des ressources.
-
Optimisation de la file d'attente SQL : les nœuds de lecture seule IMCI sont principalement utilisés pour les charges de travail analytiques. Pour exécuter rapidement des requêtes SQL complexes, le système alloue généralement plus de ressources à chaque requête complexe. Lorsque le nombre de requêtes complexes augmente, les ressources système peuvent devenir limitées. Cela peut bloquer les requêtes simples soumises ultérieurement, entraînant des lenteurs dues à la mise en file d'attente. Dans une architecture serverless, les nœuds de lecture seule IMCI ajoutent automatiquement des ressources en fonction des conditions de mise en file d'attente SQL pour réduire les requêtes lentes.
RemarqueLes versions de noyau suivantes prennent en charge cette optimisation :
Si la version majeure de PolarDB for MySQL est 8.0.1, la révision doit être 8.0.1.1.39 ou ultérieure.
Si la version majeure de PolarDB for MySQL est 8.0.2, la révision doit être 8.0.2.2.20 ou ultérieure.
-
Chargement IMCI plus rapide au démarrage : après un redémarrage du cluster, un nœud de lecture seule IMCI doit reconstruire ses métadonnées d'index internes, ce qui prend généralement plusieurs minutes. Pendant ce temps, IMCI n'est pas disponible. Dans une architecture serverless, le nœud de lecture seule IMCI utilise des ressources élastiques pour accélérer ce processus de reconstruction, le rendant disponible plus rapidement.
RemarqueLes versions de noyau suivantes prennent en charge cette optimisation :
Si la version majeure de PolarDB for MySQL est 8.0.1, la révision doit être 8.0.1.1.36 ou ultérieure.
Si la version majeure de PolarDB for MySQL est 8.0.2, la révision doit être 8.0.2.2.20 ou ultérieure.
-
Rejeu des journaux accéléré : IMCI est construit en rejouant les journaux physiques. Cependant, comme le système alloue la plupart de ses ressources pour prendre en charge les requêtes, les ressources disponibles pour la construction d'IMCI peuvent être insuffisantes. Cela peut augmenter la latence du rejeu des journaux IMCI. Cette latence peut router les requêtes vers d'autres nœuds ou les obliger à attendre la fin du rejeu des journaux, entraînant des requêtes lentes. Dans une architecture serverless, un nœud de lecture seule IMCI ajoute automatiquement des ressources liées au rejeu pour accélérer le processus.
RemarqueCette optimisation est prise en charge si la version majeure du noyau de PolarDB for MySQL est 8.0.1 et si la révision est 8.0.1.1.45 ou ultérieure.
-
Opérations DDL accélérées : les opérations DDL sur IMCI peuvent être longues. Dans une architecture serverless, les nœuds IMCI augmentent de manière adaptative les ressources de threads pour le traitement DDL afin d'accélérer l'opération.
RemarqueLes versions de noyau suivantes prennent en charge cette optimisation :
Si la version majeure de PolarDB for MySQL est 8.0.1, la révision doit être 8.0.1.1.44 ou ultérieure.
Si la version majeure de PolarDB for MySQL est 8.0.2, la révision doit être 8.0.2.2.25 ou ultérieure.
Procédure
Définir une plage de mise à l'échelle des ressources sur un nœud de lecture seule IMCI à spécification fixe
Connectez-vous à la console PolarDB. Dans le volet de navigation de gauche, cliquez sur Clusters. Sélectionnez la Region où le cluster est déployé, puis cliquez sur l'ID du cluster pour accéder à la page des détails du cluster.
Sur la page Basic Information, dans la section Database Nodes, cliquez sur Enable Serverless.
Dans la boîte de dialogue Enable Serverless, définissez les paramètres Maximum Resources for Single Node et Minimum Resources for Single Node. Pour plus d'informations sur les paramètres Maximum Resources for Single Node et Minimum Resources for Single Node, consultez la rubrique Activer le mode serverless pour les clusters à spécification fixe.
-
Cliquez sur OK.
Après application des paramètres, le nœud IMCI peut évoluer dynamiquement en plus de sa spécification fixe.
Dans la section Database Nodes, la spécification du nœud de lecture seule IMCI s'affiche sous la forme d'une spécification fixe plus une plage de mise à l'échelle PCU, par exemple 4 cœurs 8 Go + (0-16) PCU. L'état du nœud est Running.
Créer un nœud de lecture seule IMCI sans spécification fixe
Connectez-vous à la console PolarDB. Dans le volet de navigation de gauche, cliquez sur Clusters. Sélectionnez la Region où le cluster est déployé, puis cliquez sur l'ID du cluster pour accéder à la page des détails du cluster.
Sur la page Basic Information, dans la section Database Nodes, cliquez sur Enable Serverless.
Dans la boîte de dialogue Enable Serverless, spécifiez le nombre de Read-only IMCI Nodes et cliquez sur OK. Après application des paramètres, PolarDB crée automatiquement un nœud de lecture seule IMCI qui évolue dynamiquement.