Les fonctionnalités Multi-cluster et Auto Scaling sont disponibles pour les instances de virtual warehouse dans Hologres V4.0 et versions ultérieures. Un virtual warehouse peut s'exécuter sur plusieurs clusters, et l'Auto Scaling ajuste le nombre de clusters actifs en fonction de la charge. Cette approche permet de gérer les charges de travail à forte concurrence et d'assurer l'isolation des ressources au sein du warehouse.
Fonctionnement
Sans Multi-cluster : Toutes les ressources de calcul d'un virtual warehouse appartiennent à un seul cluster. L'ensemble des requêtes se partagent ces ressources.
Avec Multi-cluster : Plusieurs clusters s'exécutent au sein d'un même virtual warehouse. Les ressources de calcul sont isolées physiquement entre les clusters. Le nœud d'accès FE assure l'équilibrage de charge des requêtes entrantes et les achemine vers un cluster pour exécution.
Avec Multi-cluster et Auto Scaling : Le virtual warehouse surveille la charge (utilisation des ressources et mise en file d'attente) et lance automatiquement des clusters élastiques supplémentaires lors des pics de charge. Lorsque la charge diminue, il libère ces clusters élastiques afin de réduire les coûts.
Choisir un mode
Utilisez ce tableau pour sélectionner le mode adapté à votre charge de travail avant toute configuration.
|
Mode |
Idéal pour |
Non recommandé pour |
|
Multi-cluster (fixe) |
Charges de travail à forte concurrence avec des requêtes petites à moyennes et une charge stable et prévisible |
Charges de travail à faible concurrence avec des tâches volumineuses nécessitant davantage de puissance de calcul au sein d'un seul cluster |
|
Multi-cluster + Auto Scaling |
Charges de travail à forte concurrence avec des pics de trafic imprévisibles |
Tâches volumineuses à faible concurrence ; charges de travail déjà gérées par la mise à l'échelle planifiée |
Quand privilégier la mise à l'échelle manuelle ou planifiée : Si vos pics de trafic sont prévisibles, ajustez manuellement le nombre de Clusters ou utilisez l'élasticité basée sur le temps. L'Auto Scaling apporte une valeur ajoutée principalement lorsque les pics sont imprévisibles. Vous ne pouvez pas utiliser simultanément l'élasticité basée sur le temps et l'Auto Scaling sur le même virtual warehouse.
Prérequis, notes et limites
Prérequis
Avant de commencer, assurez-vous de disposer des éléments suivants :
Une instance de virtual warehouse exécutant Hologres V4.0 ou une version ultérieure
-
Autorisations : Un compte Alibaba Cloud, ou un utilisateur Resource Access Management (RAM) disposant des autorisations suivantes :
Politique RAM : AliyunHologresWarehouseFullAccess. Consultez la rubrique Accorder l'accès à Hologres aux utilisateurs RAM.
Développement : Privilèges Superuser au sein de l'instance. Consultez la rubrique Accorder des autorisations de développement à un utilisateur RAM.
Notes et limites
Impact : La mise à l'échelle des clusters peut interrompre brièvement certaines tâches de lecture/écriture. Consultez la rubrique Scale out (horizontal scaling).
Conflit de fonctionnalités : La mise à l'échelle planifiée et l'Auto Scaling ne peuvent pas être activés simultanément pour un virtual warehouse. Les opérations manuelles telles que le démarrage/l'arrêt et les ajustements de calcul dans la console Hologres restent disponibles.
Échec potentiel du provisionnement : Le lancement d'un cluster élastique n'est pas garanti. Configurez des alertes pour détecter les éventuels échecs de provisionnement. Consultez la section Monitoring and alerts.
-
Disponibilité régionale :
Fonctionnalité
Disponibilité
Multi-cluster
Toutes les régions
Auto Scaling
Voir le tableau ci-dessous
Région
Prise en charge de l'Auto Scaling
Notes
Chine (Hangzhou), Chine (Shanghai), Chine (Pékin), Chine (Shenzhen)
Prise en charge (bêta)
Remplissez le formulaire de demande pour bénéficier d'un essai.
Facturation
Les ressources réservées sont facturées selon la méthode de facturation de votre instance (abonnement ou paiement à l'utilisation).
Les ressources élastiques fonctionnent selon le modèle de paiement à l'utilisation et sont facturées séparément pour les ressources de calcul élastiques lancées :
Cost = Elastic resources launched (CU × hour) × Unit price
Alibaba Cloud enregistre l'utilisation des ressources élastiques chaque minute et génère une facture horaire. Les frais sont débités automatiquement de votre compte. Pour connaître les prix unitaires, consultez la rubrique Facturation.
Activer Multi-cluster
Vous pouvez activer la fonctionnalité Multi-cluster en modifiant le nombre de clusters réservés pour un virtual warehouse. Pour obtenir la procédure détaillée, consultez la rubrique Scale out (horizontal scaling).
Activer l'Auto Scaling
L'Auto Scaling ajuste le nombre de clusters actifs en fonction de la charge, qui inclut l'utilisation des ressources et la mise en file d'attente.
Connectez-vous à la console Hologres. Dans le coin supérieur gauche, sélectionnez la région où votre instance est déployée.
Dans le volet de navigation de gauche, cliquez sur Instances. Cliquez sur l'ID/Nom de l'instance Instance ID/Name cible pour ouvrir la page Instance Details.
Dans le volet de navigation de gauche de la page des détails de l'instance, sélectionnez Virtual Warehouse Management. À droite, sélectionnez l'onglet Auto-scaling.
Activez l'option Enable Auto-scaling. Définissez la valeur Maximum Clusters et cliquez sur Save.
Le paramètre Maximum Clusters définit la limite supérieure pour la mise à l'échelle élastique. Le virtual warehouse ajoute des clusters jusqu'à cette limite lors des périodes de forte charge.
Vérifier le comportement de l'Auto Scaling
Après avoir activé l'Auto Scaling, utilisez pgbench (l'outil natif de test de performances PostgreSQL) pour confirmer que le déclenchement de la mise à l'échelle fonctionne correctement. Cet exemple utilise une configuration de 32 CU par cluster, 1 cluster réservé et un maximum de 4 clusters.
-
Créez des tables de test et chargez les données :
CREATE TABLE tbl_1 (col1 INT, col2 INT, col3 TEXT); CREATE TABLE tbl_2 (col1 INT, col2 INT, col3 TEXT); INSERT INTO tbl_1 SELECT i, i+1, md5(random()::TEXT) FROM generate_series(0, 500000) AS i; INSERT INTO tbl_2 SELECT i, i+1, md5(random()::TEXT) FROM generate_series(0, 500000) AS i; -
Sur le serveur de test de charge, créez un fichier nommé
select.sqlcontenant la requête suivante :EXPLAIN ANALYZE SELECT * FROM tbl_1 LEFT JOIN tbl_2 ON tbl_1.col3 = tbl_2.col3 ORDER BY 1; -
Définissez le mot de passe comme variable d'environnement :
export PGPASSWORD='<AccessKey_Secret>' -
Exécutez le test de charge. Remplacez les espaces réservés par vos valeurs réelles. Pour plus de détails sur les paramètres de connexion, consultez la rubrique Connect to Hologres and develop data.
Espace réservé
Description
<AccessKey_Secret>Secret AccessKey de votre compte
<Database>Nom de la base de données Hologres cible
<AccessKey_ID>ID AccessKey de votre compte
<Endpoint>Endpoint de l'instance Hologres
<Port>Port de connexion
pgbench \ -c 30 \ -j 30 \ -f select.sql \ -d <Database> \ -U <AccessKey_ID> \ -h <Endpoint> \ -p <Port> \ -T 1800
Résultats attendus :
-
Utilisation du CPU du cluster :

Lorsque le cluster 1 subit une charge élevée, l'Auto Scaling ajoute un cluster (position 1 dans le graphique).
Une fois le test de charge terminé, les deux clusters affichent une faible charge et l'Auto Scaling supprime le cluster élastique (position 2).
-
Utilisation du CPU du virtual warehouse :

Un nouveau cluster est ajouté lorsque l'utilisation du CPU du virtual warehouse dépasse continuellement 85 %.
Après l'ajout du nouveau cluster, l'utilisation globale du CPU chute à environ 70 %.
Surveillance et alertes
Métriques
Dans la console Hologres, surveillez les métriques suivantes pour votre virtual warehouse. Pour obtenir les instructions de configuration, consultez la rubrique Monitoring metrics.
Utilisation du CPU du cluster
Utilisation de la mémoire du cluster
Nombre de vCPU lancés par l'Auto Scaling du virtual warehouse
Journaux des événements élastiques
Sur la page Virtual Warehouse Management, cliquez sur l'onglet Elastic Event Execution Logs.
Sélectionnez une plage horaire pour afficher les événements de mise à l'échelle passés. Chaque enregistrement d'événement inclut l'heure d'exécution, le virtual warehouse, le statut d'exécution, le type d'événement, le nombre de clusters réservés et le nombre cible de clusters.
Événements Cloud Monitor
Les événements de scale-out et de scale-in de l'Auto Scaling sont enregistrés dans CloudMonitor.
-
Accédez au Centre d'événements Cloud Monitor. Sur la page System Event, sélectionnez Hologres comme produit dans la zone Event Monitoring. Les événements d'Auto Scaling suivants sont disponibles :
Nom de l'événement
Description
Instance:Warehouse:AutoElastic:StartL'Auto Scaling a démarré pour un virtual warehouse
Instance:Warehouse:AutoElastic:FinishL'Auto Scaling s'est terminé avec succès
Instance:Warehouse:AutoElastic:FailedÉchec de l'Auto Scaling (par exemple, un Cluster n'a pas pu être lancé)
Sur la base de ces événements, configurez des notifications ou des règles d'alerte. Pour obtenir les instructions de configuration, consultez la rubrique Use alerts for system events.
L'exemple suivant montre la charge utile d'un événement Cloud Monitor pour un échec de scale-out :
{
"status": "Failed",
"instanceName": "<instance_id>",
"resourceId": "<instance_resource_id>",
"content": {
"AutoElasticCPU": <cpu_num>,
"ScaleType": "ScaleOut",
"ScheduleId": "xxxxxx",
"WarehouseId": "<warehouse_id>",
"WarehouseName": "<warehouse_name>"
},
"product": "hologres",
"time": 1722852008000,
"level": "WARN",
"regionId": "<region>",
"id": "<event_id>",
"groupId": "0",
"name": "Instance:Warehouse:TimedElastic:Failed"
}
ActionTrail
Toutes les opérations effectuées dans la console Hologres — y compris la modification des configurations d'Auto Scaling — ainsi que les opérations réelles de mise à l'échelle des clusters déclenchées par l'Auto Scaling, sont enregistrées dans ActionTrail. Pour plus de détails, consultez la rubrique Audit event logs.