Database
 sql >> Base de données >  >> RDS >> Database

Comment déployer facilement TimescaleDB

Il y a quelques jours a eu lieu la sortie d'une nouvelle version de ClusterControl, la 1.7.2, où l'on peut voir plusieurs nouvelles fonctionnalités, l'une des principales est le support de TimescaleDB.

TimescaleDB est une base de données de séries chronologiques open source optimisée pour l'ingestion rapide et les requêtes complexes qui prend en charge le SQL complet. Il est basé sur PostgreSQL et offre le meilleur des mondes NoSQL et relationnel pour les données de séries chronologiques. TimescaleDB prend en charge la réplication en continu comme méthode principale de réplication, qui peut être utilisée dans une configuration à haute disponibilité. Cependant, PostgreSQL n'est pas livré avec un basculement automatique et c'est un problème dans un environnement de production à haute disponibilité. Le basculement manuel implique généralement qu'un humain est appelé et doit trouver un ordinateur, se connecter aux systèmes, comprendre ce qui se passe, avant de lancer les procédures de basculement. Cela se traduit par une longue période d'immobilisation. Heureusement, il existe un moyen d'automatiser les basculements avec ClusterControl, qui prend désormais en charge TimescaleDB.

Dans ce blog, nous verrons comment déployer une installation TimescaleDB répliquée avec basculement automatique en quelques clics en utilisant ClusterControl. Nous verrons également comment ajouter un point de terminaison de base de données unique pour les applications via HAProxy. En pré-requis, vous devez installer la version 1.7.2 de ClusterControl sur un hôte dédié ou une VM.

Déployer TimescaleDB

Pour effectuer une nouvelle installation de TimescaleDB à partir de ClusterControl, sélectionnez simplement l'option "Déployer" et suivez les instructions qui s'affichent. Notez que si vous avez déjà une instance TimescaleDB en cours d'exécution, vous devez sélectionner "Importer un serveur/base de données existant" à la place.

Lors de la sélection de TimescaleDB, nous devons spécifier l'utilisateur, la clé ou le mot de passe et le port pour se connecter par SSH à nos hôtes TimescaleDB. Nous avons également besoin d'un nom pour notre nouveau cluster et si nous voulons que ClusterControl installe le logiciel et les configurations correspondants pour nous.

Veuillez vérifier les exigences utilisateur de ClusterControl pour cette tâche ici.

Après avoir configuré les informations d'accès SSH, nous devons définir l'utilisateur, la version et le datadir de la base de données (facultatif). Nous pouvons également spécifier quel référentiel utiliser.

Dans l'étape suivante, nous devons ajouter nos serveurs au cluster que nous allons créer.

Lors de l'ajout de nos serveurs, nous pouvons entrer l'adresse IP ou le nom d'hôte.

Dans la dernière étape, nous pouvons choisir si notre réplication sera synchrone ou asynchrone.

Nous pouvons surveiller l'état de la création de notre nouveau cluster à partir du moniteur d'activité ClusterControl.

Une fois la tâche terminée, nous pouvons voir notre nouveau cluster TimescaleDB dans l'écran principal de ClusterControl.

Une fois notre cluster créé, nous pouvons y effectuer plusieurs tâches, comme ajouter un équilibreur de charge (HAProxy) ou un nouveau réplica.

Mettre à l'échelle TimescaleDB

Si nous allons dans les actions de cluster et sélectionnons "Ajouter un esclave de réplication", nous pouvons soit créer un nouveau réplica à partir de zéro, soit ajouter une base de données TimescaleDB existante en tant que réplica.

Voyons comment l'ajout d'un nouvel esclave de réplication peut être une tâche vraiment facile.

Comme vous pouvez le voir sur l'image, nous n'avons qu'à choisir notre serveur maître, entrer l'adresse IP de notre nouveau serveur esclave et le port de la base de données. Ensuite, nous pouvons choisir si nous voulons que ClusterControl installe le logiciel pour nous et si l'esclave de réplication doit être synchrone ou asynchrone.

De cette façon, nous pouvons ajouter autant de répliques que nous le souhaitons et répartir le trafic de lecture entre elles à l'aide d'un équilibreur de charge, que nous pouvons également implémenter avec ClusterControl.

Depuis ClusterControl, vous pouvez également effectuer différentes tâches de gestion comme Redémarrer l'hôte, Reconstruire l'esclave de réplication ou Promouvoir l'esclave, en un seul clic.

Conclusion

Comme nous l'avons vu ci-dessus, vous pouvez maintenant déployer TimescaleDB en utilisant ClusterControl. Une fois déployé, ClusterControl fournit toute une gamme de fonctionnalités, allant de la surveillance, de l'alerte, du basculement automatique, de la sauvegarde, de la récupération ponctuelle, de la vérification de la sauvegarde à la mise à l'échelle des répliques en lecture. Cela peut vous aider à gérer TimescaleDB de manière conviviale et intuitive.