Gérer plusieurs technologies de base de données open source dans n'importe quel environnement peut être une tâche ardue, surtout si vous disposez de moins de ressources. Le scénario pourrait être pire si le déploiement, la surveillance et d'autres tâches de gestion de base de données sont effectuées manuellement. Si ce scénario vous semble familier, ce blog peut vous aider à automatiser la gestion de bases de données hétérogènes open source à l'aide d'outils d'automatisation de base de données tels que ClusterControl.
Pour les organisations ou les entreprises à la recherche de solutions d'entreprise pour gérer leurs bases de données open source basées sur différentes technologies, ClusterControl serait une excellente option. ClusterControl prend en charge diverses technologies de base de données open source populaires, notamment MySQL, MongoDB, PostgreSQL, MariaDB et bien d'autres, et est utilisé par de grandes organisations et entreprises pour les applications d'entreprise et les architectures complexes.
Les architectes de solutions peuvent utiliser efficacement ClusterControl pour s'adapter à leur environnement et à leur architecture existants. ClusterControl est une application monolithique mais possède plusieurs composants qui communiquent avec cmon. Ces composants fonctionnent en coopération pour gérer de manière transparente les différents types de bases de données open source prises en charge par ClusterControl.
Fournisseurs de bases de données pris en charge par ClusterControl
ClusterControl vous permet de déployer ou de créer un cluster de bases de données à partir de rien pour diverses bases de données open source allant du RDBMS au NoSQL. Tout ce que vous avez à faire est de fournir des informations sur la connectivité du serveur telles que les informations d'identification SSH. ClusterControl gérera toutes les bizarreries et les friandises nécessaires pour exécuter vos serveurs de base de données limités aux systèmes d'exploitation Linux pris en charge. ClusterControl ajoutera les paramètres de configuration requis, l'aide au réglage et les utilisateurs qu'il juge nécessaires, en particulier pour les sauvegardes, la redondance et la haute disponibilité des bases de données enregistrées (ou créées) et importées.
La plupart des technologies de base de données prises en charge par ClusterControl (à l'exception des variantes MongoDB et NDB) peuvent être facilement liées à divers équilibreurs de charge ou proxys, ce qui est facile à configurer en quelques clics à l'aide de l'interface utilisateur de ClusterControl .
Voici à quoi cela ressemble lorsque ClusterControl gère plusieurs technologies de base de données :
ClusterControl peut gérer des milliers de clusters, mais cela dépend de la capacité et des ressources de votre serveur hébergeant le logiciel ClusterControl.
MySQL/MariaDB/ Serveur Percona
Oracle MySQL peut être déployé ou importé dans ClusterControl et peut être configuré en tant que réplication primaire-de secours/maître-esclave. Par défaut, une fois déployée et configurée à l'aide de ClusterControl, votre réplication Oracle MySQL utilisera la réplication semi-synchronisée, qui offre plus de cohérence que la réplication asynchrone. Ceci est configuré et défini comme configuration standard par le moniteur ClusterControl - cmon - lors du déploiement d'une réplication de secours principale.
MariaDB et Percona Server peuvent être configurés en tant que réplication primaire-de secours/maître-esclave, et peuvent également être configurés à l'aide du plug-in de réplication Galera pour créer une réplication synchrone. Identique à Oracle MySQL, la configuration de la réplication primaire-de secours s'applique de la même manière pour une réplication primaire-de secours.
Si MariaDB et Percona Server sont configurés pour déployer un cluster Galera, cela signifie que la réplication à configurer est considérée comme une réplication synchrone.
Cluster MySQL (NDB)
ClusterControl prend également en charge MySQL Cluster (NDB), un système de base de données distribué couramment utilisé dans les télécommunications ou les industries connexes. Cette technologie est conçue pour une haute disponibilité et largement utilisée dans les applications d'entreprise critiques qui exigent des niveaux de performances élevés. ClusterControl déploie NDB avec une interface utilisateur et est raisonnablement facile à configurer du point de vue de l'utilisateur. Néanmoins, les fonctionnalités de surveillance et de gestion de NDB sont limitées par rapport à ce qui est proposé pour les autres technologies de base de données. Bien que MySQL Cluster (NDB) soit une base de données compliquée à gérer, une fois que vous vous êtes habitué à travailler avec NDB, il peut être puissant, en particulier avec ses fonctionnalités hautement disponibles.
PostgreSQL/TimescaleDB
Cité comme la base de données relationnelle open source la plus avancée au monde, PostgreSQL peut être déployé ou importé dans ClusterControl et avec des fonctionnalités riches à offrir également. ClusterControl permet à l'utilisateur de configurer une réplication PostgreSQL pour choisir une réplication synchrone ou asynchrone traditionnelle.
TimescaleDB est une extension de PostgreSQL, qui se spécialise principalement en tant que base de données relationnelle open source pour les données de séries chronologiques. Bien qu'il existe très peu de différences sur la façon dont cmon gère TimescaleDB sur PostgreSQL, la plupart, sinon toutes, les fonctionnalités sont les mêmes. Il peut différer selon les versions prises en charge, mais la gestion et la surveillance sont les mêmes pour les deux.
Serveur MongoDB/Percona pour MongoDB
ClusterControl prend en charge MongoDB ou Percona Server pour MongoDB dans le cadre de la famille de bases de données NoSQL. Les deux fournisseurs n'ont pas de différences sur la façon dont il est géré et surveillé par ClusterControl. Toutes les fonctionnalités présentes pour activer la prise en charge de NoSQL par ClusterControl s'appliquent aux deux fournisseurs. Vous pouvez déployer un ReplicaSet ou des fragments MongoDB avec ClusterControl, et il est assez facile à gérer et à configurer.
Basculement automatique avec ClusterControl
ClusterControl est conçu pour gérer automatiquement les pannes sans aucune autre modification du côté administratif. Les échecs peuvent prendre la forme d'une panne matérielle, d'une corruption des données ou d'accidents tels que la suppression de l'ID de processus ou la suppression physique du répertoire de données. ClusterControl est conçu avec des modes de récupération automatique pour la récupération de cluster et de nœud, comme indiqué ci-dessous :
La récupération de nœud signifie que ClusterControl peut récupérer un nœud de base de données en cas de panne intermittente en surveillant le processus et la connectivité aux nœuds de base de données. Le processus fonctionne de la même manière que systemd, où il s'assurera que le service MySQL est démarré et en cours d'exécution, sauf si vous l'avez intentionnellement arrêté via l'interface utilisateur de ClusterControl.
D'autre part, la récupération de cluster garantit que ClusterControl comprend la topologie de la base de données et suit les meilleures pratiques pour effectuer la récupération. Pour un cluster de base de données doté d'une tolérance aux pannes intégrée comme Galera Cluster, NDB Cluster et MongoDB Replicaset, le processus de basculement sera effectué automatiquement par le serveur de base de données via le calcul du quorum, la pulsation et le changement de rôle (le cas échéant). ClusterControl surveille le processus et apporte les ajustements nécessaires à la visualisation, comme refléter les modifications sous la vue Topologie et ajuster le composant de surveillance et de gestion pour le nouveau rôle, par exemple, le nouveau nœud principal dans un jeu de répliques.
Si vous souhaitez en savoir plus sur ce processus, faites-le ici.
S'assurer que votre infrastructure est sécurisée
La sécurité est également l'un des aspects les plus importants de l'exécution d'une base de données. Que vous soyez développeur ou DBA, il est de votre responsabilité de sauvegarder vos données et de les protéger des accès non autorisés si vous gérez des bases de données.
La sécurisation de vos bases de données nécessite une attention aux détails et une compréhension du chiffrement, à la fois en transit et au repos. Certaines industries sont tenues de respecter des normes de responsabilité élevées avec des sanctions lourdes en cas de non-conformité (pensez au RGPD, etc.)
Plutôt que de laisser vos équipes configurer manuellement leurs bases de données open source, avec l'interface utilisateur pointer-cliquer de ClusterControl, vous pouvez déployer simplement et en toute sécurité pour éliminer les erreurs humaines. Il est également équipé de fonctionnalités de sécurité avancées qui ajoutent un haut niveau de protection à votre infrastructure de base de données en protégeant vos données.
Protéger vos données
ClusterControl offre une interface utilisateur efficace et conviviale pour activer SSL, qui automatise la configuration et la mise en place de votre couche de transmission sécurisée. Par exemple, dans les variantes de base de données MySQL, cela peut être situé sous l'onglet Sécurité comme indiqué ci-dessous :
ClusterControl active SSL/TLS pour la communication client-serveur et la communication au sein de la réplication dans un cluster de réplication basé sur Galera, comme illustré dans la capture d'écran ci-dessus. ClusterControl propose également des fonctionnalités de sauvegarde avancées qui vous permettent d'activer le chiffrement au repos, comme illustré dans la capture d'écran ci-dessous :
Auteur de la photoDescription de la photo
Automatisation de la base de données avec ClusterControl
Les scripts d'automatisation ne sont pas non plus nécessaires lorsque vous avez ClusterControl. Par exemple, dans ClusterControl, les sauvegardes peuvent être créées et exécutées à la volée et on peut également créer une politique de sauvegarde et planifier une sauvegarde afin qu'elle s'exécute automatiquement. Voici comment cela fonctionne :
Chaque action déclenche une tâche en arrière-plan de l'application et vous serez averti lorsque la tâche sera terminée. Par exemple, sur la base de la sauvegarde que nous avons déclenchée précédemment, nous verrons qu'une fois ce travail terminé, une alarme sera déclenchée et envoyée de manière appropriée par e-mail ou via votre système de notification tiers intégré. Cela dépend de vos préférences de configuration dans ClusterControl. Dans l'exemple de capture d'écran ci-dessous, nous avons ClusterControl qui déclenche l'alarme car il vous informe d'une sauvegarde réussie qui s'exécutait via son mécanisme d'environnement automatisé.
Conclusion
ClusterControl permet de gérer efficacement et facilement des bases de données et des environnements volumineux à l'aide de plusieurs technologies de base de données. Bien que ClusterControl soit monolithique, il offre de nombreux avantages et prend en charge différents types d'architectures car il peut fonctionner via des environnements cloud ou conteneurisés. Essayez ClusterControl gratuitement pendant 30 jours aujourd'hui et nous vous verrons dans le prochain.