Par défaut lorsqu'une base de données est hébergée dans un cluster HFSQL, les connexions à la base sont faites en donnant comme adresse le nom DNS du cluster.
Dans le cas général ou les applications et sites connectés font des consultations et des mises à jour ponctuelles, ce mode de connexion est le plus adapté et doit être privilégier.
Dans le cas plus particulier d'un traitement qui doit modifier un lot d'enregistrements en quantité importante (traitement batch), la connexion au DNS ne permet pas d'avoir le traitement le plus rapide. L'alternative peut être la suivante :
- récupérer le nœud maître du cluster avec la fonction HClusterNoeudMaître,
- ouvrir une connexion en donnant ce nœud précis comme adresse de serveur,
- exécuter le traitement de mise à jour en utilisant cette connexion :
- en donnant la connexion à la fonction HExécuteRequete si la mise à jour est faite par une requête (UPDATE, INSERT, DELETE),
- soit en utilisant HChangeConnexion sur les tables concernées, si la mise à jour est faite par HAjoute, HModifie, HSupprime...,
- refermer cette connexion "ponctuelle" une fois que le traitement est terminé.
Cette solution reste réservée aux mises à jour vraiment conséquentes et exceptionnelles. Par exemple un "patch" de tous les enregistrements pour répondre à une contrainte métier, ou une suppression de dizaines de milliers de lignes. La mise à jour peut être deux fois plus rapide, mais la disponibilité du nœud maître sera fortement impactée. Donc la disponibilité globale du cluster sera réduite. Dans le cas général c'est toujours la connexion au DNS du cluster qui sera recommandée.
Rappelons sur le thème des performances qu'à partir de la version 2025 de HFSQL Cluster :
- la fonction HSupprimeFchier est proposée (nouveauté 185),
- la copie d'une base est permise via le centre de contrôle HFSQL (nouveauté 184),
- la vitesse de connexion est optimisée (nouveauté 182),
- ...
|