Si l'augmentation du trafic en lecture ralentit les réponses de votre base de données, ajoutez des nœuds en lecture seule pour étendre la capacité de lecture de votre cluster. Cette opération améliore le débit et réduit la charge sur le nœud principal (nœud de lecture/écriture). Inversement, pendant les périodes creuses, supprimez les nœuds en lecture seule inactifs pour réduire les coûts. L'endpoint de cluster PolarDB répartit automatiquement les requêtes de lecture entre les nœuds en lecture seule, simplifiant ainsi la gestion des connexions de votre application.
Prérequis
Avant de commencer, vérifiez que les conditions suivantes sont remplies :
Mode de facturation : Le cluster cible doit utiliser le mode de facturation Subscription ou Pay-as-you-go.
État du cluster : Le cluster cible doit être à l'état Running et aucune autre tâche de modification de configuration ne doit être en cours (changement de spécifications des nœuds de calcul, mise à niveau de version mineure, etc.).
Impacts et limites
Avant d'ajouter ou de supprimer un nœud en lecture seule, prenez connaissance des impacts et des limites afin de planifier l'opération.
Impact sur le service
Ajout d'un nœud en lecture seule : L'ajout d'un seul nœud en lecture seule prend environ 5 minutes. Si vous ajoutez plusieurs nœuds simultanément, ils sont ajoutés en parallèle. La durée réelle dépend de facteurs tels que la charge de travail du cluster, le nombre de bases de données et de tables. L'ajout d'un nœud n'affecte pas le fonctionnement du cluster.
Suppression d'un nœud en lecture seule : Lors de la suppression d'un nœud en lecture seule, les connexions à ce nœud subissent une déconnexion transitoire, mais les autres nœuds ne sont pas affectés. Effectuez cette opération pendant les heures creuses et assurez-vous que votre application dispose d'un mécanisme de reconnexion automatique. Si votre application se connecte via un endpoint de cluster, PolarDB retire automatiquement le nœud supprimé de sa table de routage ; aucune modification de la configuration de votre application n'est nécessaire.
Limites de quantité de nœuds
-
Enterprise Edition :
Cluster Edition : Un cluster prend en charge jusqu'à 15 nœuds en lecture seule. Vous devez conserver au moins un nœud en lecture seule pour garantir la haute disponibilité. Par conséquent, vous ne pouvez pas supprimer le dernier nœud en lecture seule.
Multi-master Cluster (Limitless) Edition : Un cluster prend en charge jusqu'à 63 nœuds de lecture/écriture et 15 nœuds en lecture seule (nœuds globaux en lecture seule).
Standard Edition : Un cluster prend en charge jusqu'à 7 nœuds en lecture seule.
Limites de spécifications des nœuds
Pour garantir la stabilité et la haute disponibilité du cluster, les spécifications de vos nœuds principaux et en lecture seule sont soumises aux restrictions suivantes :
Un nouveau nœud en lecture seule doit disposer d'au moins la moitié de la mémoire du nœud principal.
-
Le nombre minimal de cœurs CPU pour un nouveau nœud en lecture seule dépend du nombre de cœurs du nœud principal, comme indiqué ci-dessous :
Cœurs du nœud principal
Cœurs minimaux en lecture seule
2
2
4
4
8
4
16
8
32
16
64
32
88
64
120
64
Les clusters Multi-master Cluster (Limitless) Edition ne sont pas soumis à ces limites.
Lorsque vous ajoutez un nœud IMCI en lecture seule, ses spécifications doivent être supérieures à celles du nœud principal (lecture/écriture) afin de prendre en charge sa charge de travail analytique.
Ajouter un nœud
Connectez-vous à la console PolarDB. Dans le volet de navigation de gauche, cliquez sur Clusters et sélectionnez la région où votre cluster est déployé.
-
Accédez à la page Add/Remove Node par l'une des méthodes suivantes :
Dans la ligne du cluster cible, cliquez sur Add/Remove Node dans la colonne Actions.
Cliquez sur l'ID du cluster cible pour accéder à la page Basic Information. Dans la section Database Nodes, cliquez sur Add/Remove Node.
-
Dans la boîte de dialogue Add/Remove Node, sélectionnez Add Node (ou Add Global Read-Only Node), puis cliquez sur OK.
RemarqueSelon vos besoins métier, vous pouvez également ajouter d'autres types de nœuds, tels que Add Read-Write Node, Add AI Node, Add Read-only IMCI Node ou Add Search Node.
Des nœuds de lecture/écriture ne peuvent être ajoutés qu'aux clusters Multi-master Cluster (Limitless) Edition.
Pour ajouter un nœud IMCI en lecture seule, un nœud AI ou un nœud de recherche, assurez-vous que la version de votre cluster répond aux prérequis de la fonctionnalité correspondante.
-
Sur la page Upgrade/Downgrade, confirmez la Current Configuration. Cliquez sur l'icône
pour ajouter un nœud et sélectionner ses spécifications.RemarqueCliquez plusieurs fois sur ce bouton pour ajouter plusieurs nœuds simultanément.
-
Choisissez le moment où la modification de configuration doit prendre effet :
Switch Now : La modification de configuration prend effet immédiatement.
Scheduled Switch : Sélectionnez une heure dans les prochaines 24 heures. La tâche se termine dans les 30 minutes suivant l'heure spécifiée. Consultez ou annulez la tâche sur la page Scheduled Tasks.
Lisez et acceptez les conditions de service, cliquez sur Buy Now, puis procédez au paiement. Une fois le paiement réussi, la tâche s'exécute à l'heure planifiée.
-
(Facultatif) Si vous avez ajouté d'autres types de nœuds, reportez-vous aux étapes suivantes :
Nœud de lecture/écriture : Exécutez l'instruction
CREATE DATABASE <name> [POLARDB_WRITE_NODE master_id];pour créer une base de données sur le nouveau nœud. Pour plus d'informations, consultez Utilisation des clusters multi-maîtres.Nœud AI : Exécutez une instruction SQL AI en ajoutant le hint
/*polar4ai*/au début de l'instruction. Pour plus d'informations sur les cas d'utilisation, consultez Data-Agent.Nœud IMCI en lecture seule : Créez un index columnstore en ajoutant le commentaire
COLUMNAR=1à une table ou à une colonne spécifique. Pour plus d'informations, consultez Ajouter un index columnstore.Nœud de recherche : Utilisez des API REST compatibles avec Elasticsearch pour créer des index et rechercher des données. Pour plus d'informations, consultez Utiliser Intelligent Search.
Supprimer un nœud
Remarques
Nœud de lecture/écriture
Avant de supprimer un nœud de lecture/écriture d'un cluster multi-maître, basculez les points d'accès de toutes les bases de données de ce nœud vers d'autres nœuds de lecture/écriture disponibles. Pour plus d'informations, consultez Utilisation des clusters multi-maîtres.
Si vous n'effectuez pas cette opération, ces bases de données deviennent inaccessibles. Le cas échéant, rétablissez l'accès en réaffectant un nœud de lecture/écriture à ces bases de données. Pour ce faire, exécutez l'instruction suivante : ALTER DATABASE <name> POLARDB_WRITE_NODE <new_master_id>;.
-
Interrogez la distribution des bases de données sur le nœud de lecture/écriture.
SELECT * FROM INFORMATION_SCHEMA.INNODB_CC_GLOBAL_LOCK_INFO WHERE LOCK_MODE = 'SLS_X' AND MASTER_ID = <master_id>; -
Basculez les points d'accès de toutes les bases de données ou objets de données retournés par la requête vers d'autres nœuds de lecture/écriture.
RemarqueLe résultat de la requête peut contenir une entrée nommée
mysql/global_ddl_lockavec le typeobjectTable. Cette entrée est réservée à un usage interne et ne nécessite pas de basculement.ALTER DATABASE <name> POLARDB_WRITE_NODE <new_master_id>;
Nœud AI
Après la suppression du dernier nœud AI, le système purge immédiatement le nœud et ses données associées, telles que les tables vectorielles. Les instructions SQL AI envoyées au cluster ne recevront plus de réponse. Les autres instructions SQL ne sont pas affectées.
Pour éviter toute perte de données, sauvegardez les données nécessaires avant de supprimer le nœud.
Nœud IMCI en lecture seule
Une fois le dernier nœud IMCI en lecture seule supprimé, le cluster ne peut plus accélérer les requêtes à l'aide d'index columnstore. Pour utiliser à nouveau les index columnstore afin d'améliorer les performances, ajoutez un autre nœud IMCI en lecture seule et attendez que les index columnstore soient reconstruits automatiquement.
L'Cluster Endpoint masque automatiquement les nœuds défaillants ; aucune modification de la configuration de votre application n'est donc nécessaire.
Nœud de recherche
Après la suppression de tous les nœuds de recherche, le système purge immédiatement les nœuds et leurs données associées. Les requêtes API REST envoyées au cluster ne recevront plus de réponse. Les autres instructions SQL ne sont pas affectées.
Pour éviter toute perte de données, effectuez les sauvegardes de données nécessaires avant de supprimer les nœuds.
Procédure
Connectez-vous à la console PolarDB. Dans le volet de navigation de gauche, cliquez sur Clusters et sélectionnez la région où votre cluster est déployé.
-
Accédez à la page Add/Remove Node par l'une des méthodes suivantes :
Dans la ligne du cluster cible, cliquez sur Add/Remove Node dans la colonne Actions.
Cliquez sur l'ID du cluster cible pour accéder à la page Basic Information. Dans la section Database Nodes, cliquez sur Add/Remove Node.
Dans la boîte de dialogue Add/Remove Node, sélectionnez Delete Node (ou Delete Global Read-Only Node), Delete Read-Write Node, Delete AI Node, Delete Read-only IMCI Node ou Delete Search Node selon vos besoins métier, puis cliquez sur OK.
-
Sur la page Upgrade/Downgrade, confirmez la Current Configuration. Cliquez sur l'icône moins
devant le nom du nœud pour le supprimer.RemarqueVous pouvez supprimer plusieurs nœuds à la fois.
-
Choisissez le moment où la modification de configuration doit prendre effet :
Switch Now : La modification de configuration prend effet immédiatement.
Scheduled Switch : Sélectionnez une heure dans les prochaines 24 heures. La tâche se termine dans les 30 minutes suivant l'heure spécifiée. Consultez ou annulez la tâche sur la page Scheduled Tasks.
Lisez et acceptez les conditions de service, cliquez sur Buy Now, puis procédez au paiement. Une fois le paiement réussi, la tâche s'exécute à l'heure planifiée.
Facturation
L'ajout ou la suppression de nœuds affecte uniquement les frais liés aux nœuds de calcul. Les frais relatifs aux ressources telles que le stockage ne sont pas impactés.
-
Pay-as-you-go
Les nouveaux nœuds sont facturés à l'heure, de leur création jusqu'à leur libération.
Supprimez des nœuds à tout moment pour arrêter leur facturation.
-
Subscription
Lors de l'ajout d'un nœud, vous devez régler un paiement unique couvrant la période allant de la date actuelle jusqu'à la date d'expiration du cluster.
Lors de la suppression d'un nœud, le système calcule automatiquement la valeur résiduelle et émet un remboursement. Pour plus d'informations, consultez Politique de remboursement pour les déclassements de configuration.
FAQ
-
Que faire si une erreur « ressources insuffisantes » survient lors de l'ajout d'un nœud ?
Si le système affiche le message Insufficient resources. Please try again in another region or zone, cela signifie que la spécification sélectionnée est épuisée dans la zone actuelle. Nous vous recommandons d'effectuer l'une des actions suivantes :
Sélectionner une spécification similaire : Essayez de choisir une spécification légèrement inférieure.
Changer de zone. Pour éviter les pénuries de ressources lors de futures opérations de mise à l'échelle, changez manuellement de zone.
-
Puis-je ajouter des nœuds de lecture/écriture à un cluster **PolarDB ?**
L'ajout de nœuds de lecture/écriture est uniquement possible sur les clusters Multi-master Cluster (Limitless) Edition. Vérifiez que votre cluster correspond bien à cette édition.
-
Que faire si le système indique qu'aucune modification de spécification n'a été détectée lors de l'ajout ou de la suppression d'un nœud ?
Ce message indique que vous n'avez pas encore ajouté ou supprimé de nœuds. Suivez les instructions à l'écran : cliquez sur l'icône
pour ajouter un nœud, ou cliquez sur l'icône moins
devant le nom d'un nœud pour le supprimer. -
Que faire si l'erreur The number of DB nodes is incorrect. apparaît lors de la suppression d'un nœud ?
Pour garantir la haute disponibilité (HA) et le basculement automatique, un cluster PolarDB Cluster Edition nécessite au moins un nœud en lecture seule.
-
Lors de la suppression de nœuds, puis-je conserver uniquement un nœud principal et un nœud IMCI en lecture seule ?
Non. Pour ajouter ou conserver un nœud IMCI en lecture seule, le cluster doit comporter au moins un nœud standard en lecture seule.
-
Mon application subit une forte pression en écriture. L'ajout de nœuds en lecture seule résoudra-t-il le problème ?
Non. Les nœuds en lecture seule traitent uniquement les requêtes de lecture (
SELECT). Le nœud principal gère exclusivement toutes les opérations d'écriture (INSERT/UPDATE/DELETE). Si le goulot d'étranglement concerne les performances en écriture, mettez à niveau les spécifications du nœud principal plutôt que d'ajouter des nœuds en lecture seule.
Rubriques connexes
Impact de la quantité de nœuds sur les performances : Performances OLTP
Fonctionnalité de nœud IMCI en lecture seule : In-Memory Column Index (IMCI)
Fonctionnalité de nœud de recherche : Intelligent Search (PolarSearch)
Fonctionnalité de nœud AI : PolarDB for AI
API associées
|
API |
Description |
|
Ajoute des nœuds à un cluster PolarDB. |
|
|
Supprime des nœuds d'un cluster PolarDB. |