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

Éviter le verrouillage du fournisseur de base de données pour MySQL ou MariaDB

L'enfermement du fournisseur est défini comme "l'enfermement propriétaire ou l'enfermement du client, qui rend un client dépendant d'un fournisseur pour ses produits et services ; incapable d'utiliser un autre fournisseur sans coût substantiel" ( Wikipédia). Indéniablement, pour de nombreuses sociétés de logiciels, ce serait le modèle économique souhaité. Mais est-ce bon pour leurs clients ?

Les bases de données propriétaires offrent un excellent support pour les migrations à partir d'autres solutions logicielles de base de données populaires. Cependant, cela ne ferait que provoquer un autre verrouillage du fournisseur. L'open source est-il alors une solution ?

En raison des limitations que l'open source avait il y a des années, de nombreuses solutions de base de données coûteuses ont été choisies. Malheureusement, pour beaucoup, l'open source n'était pas une option.

En fait, au fil des ans, la base de données open source a gagné le soutien et la maturité de l'entreprise pour exécuter des systèmes de transaction de données critiques et complexes.

Avec la nouvelle version de la base de données comme Percona et MariaDB, de nouvelles fonctionnalités intéressantes ont été ajoutées, soit la compatibilité, soit les besoins de l'entreprise, comme l'assistance 24h/24 et 7j/7, la sécurité, l'audit, le clustering, la sauvegarde en ligne ou la restauration rapide. Tout cela a rendu le processus de migration plus accessible que jamais.

La migration peut être une sage décision, mais elle comporte des risques. Que vous envisagiez de migrer manuellement d'une migration propriétaire vers une migration à support ouvert ou à l'aide d'un outil commercial pour automatiser l'ensemble du processus de migration, vous devez connaître tous les goulots d'étranglement et méthodes possibles impliqués dans le processus et la validation des résultats.

La modification du système de base de données est également un excellent moment pour envisager d'autres risques de verrouillage du fournisseur. Pendant le processus de migration, vous pouvez réfléchir à la manière d'éviter d'être bloqué avec certaines technologies. Dans cet article, nous allons nous concentrer sur certains aspects majeurs du verrouillage des fournisseurs de MySQL et MariaDB.

Éviter le verrouillage pour la surveillance de la base de données

Les utilisateurs de bases de données open source doivent souvent utiliser un mélange d'outils et de scripts maison pour surveiller leurs environnements de base de données de production. Cependant, même en ayant ses propres scripts maison dans la solution, il est difficile de le maintenir et de suivre les nouvelles fonctionnalités de la base de données.

J'espère qu'il existe de nombreux outils de surveillance gratuits intéressants pour MySQL/MariaDB. Les outils gratuits les plus recommandés par les DBA sont PMM, Zabbix, ClusterControl Community Edition, le plugin Nagios MySQL. Bien que PMM et ClusterControl soient des solutions de base de données dédiées.

Percona Monitoring and Management (PMM) est une solution entièrement open source pour gérer les performances de la plate-forme MySQL et optimiser les performances des requêtes. PMM est une solution sur site qui conserve toutes vos données de performances et de requêtes dans les limites de votre environnement. Vous pouvez trouver la démo PMM sous le lien ci-dessous.

Les outils de surveillance de serveur traditionnels ne sont pas conçus pour les architectures de bases de données distribuées modernes. La plupart des bases de données de production s'exécutent aujourd'hui dans une configuration à haute disponibilité - de la réplication maître-esclave plus simple aux clusters multi-maîtres dirigés par des équilibreurs de charge redondants. Les équipes d'exploitation gèrent des dizaines, voire des centaines de services qui composent l'environnement de la base de données.

Avoir plusieurs systèmes de base de données signifie que votre organisation deviendra plus agile du côté du développement et laisse le choix aux développeurs, mais impose également des connaissances supplémentaires côté opérations. Étendre votre infrastructure de MySQL uniquement au déploiement d'autres backends de stockage comme MongoDB et PostgreSQL implique que vous devez également les surveiller, les gérer et les faire évoluer. Comme chaque backend de stockage excelle dans différents cas d'utilisation, cela signifie également que vous devez réinventer la roue pour chacun d'entre eux.

ClusterControl a été conçu pour répondre aux configurations de base de données modernes et hautement distribuées basées sur la réplication ou regroupement. Il affiche l'état de l'ensemble de la solution de cluster, mais il peut être largement utilisé pour une seule instance. ClusterControl vous montrera de nombreuses métriques avancées, mais vous pouvez également y trouver des conseillers intégrés qui vous aideront à les comprendre. Vous pouvez trouver la démo ClusterControl sous le lien ci-dessous.

Éviter le verrouillage pour les solutions de sauvegarde de base de données

Il existe plusieurs façons d'effectuer des sauvegardes, mais quelle méthode correspond à vos besoins spécifiques ? Comment implémenter la récupération ponctuelle ?

Si vous migrez depuis Oracle ou SQL Server, nous aimerions vous recommander l'outil xtrabackup de Percona ou un outil similaire mariabackup de Mark.

Percona XtraBackup est le logiciel de sauvegarde à chaud MySQL/MariaDB open source le plus populaire qui effectue des sauvegardes non bloquantes pour les bases de données InnoDB et XtraDB. Il entre dans la catégorie des sauvegardes physiques, qui consiste en des copies exactes du répertoire de données MySQL et des fichiers en dessous.

XtraBackup ne verrouille pas votre base de données pendant le processus de sauvegarde. Pour les grandes bases de données (plus de 100 Go), il offre un temps de restauration bien meilleur par rapport à mysqldump. Le processus de restauration implique de préparer les données MySQL à partir des fichiers de sauvegarde, avant de les remplacer ou de les basculer avec le répertoire de données actuel sur le nœud cible.

Éviter le verrouillage pour la haute disponibilité et l'évolutivité de la base de données

On dit que si vous ne concevez pas pour l'échec, vous vous dirigez vers un crash. Comment créez-vous un système de base de données à partir de zéro pour résister aux pannes ? Cela peut être un défi car les échecs se produisent de différentes manières, parfois difficiles à imaginer. C'est une conséquence de la complexité des environnements de base de données d'aujourd'hui.

Le clustering est une fonctionnalité coûteuse des bases de données comme Oracle et SQL Server. Cela nécessite des licences supplémentaires.

Galera Cluster est une option courante pour MySQL et MariaDB à haute disponibilité. Et bien qu'il se soit imposé comme un remplaçant crédible des architectures maître-esclave MySQL traditionnelles, il ne s'agit pas d'un remplacement instantané.

Galera Cluster est une technologie de clustering de base de données active-active synchrone pour MySQL et MariaDB. Galera Cluster diffère de ce que l'on appelle le cluster MySQL d'Oracle - NDB. Le cluster MariaDB est basé sur le plugin de réplication multi-maître fourni par Codership.

Bien que le cluster Galera présente certaines caractéristiques qui le rendent inadapté à des cas d'utilisation spécifiques, la plupart des applications peuvent toujours être adaptées pour s'exécuter dessus.

Les avantages sont clairs :configuration InnoDB multi-maîtres avec basculement intégré et évolutivité en lecture.

Éviter le verrouillage pour l'équilibrage de charge de la base de données

Les proxys sont des éléments constitutifs des configurations à haute disponibilité pour MySQL. Ils peuvent détecter les nœuds défaillants et acheminer les requêtes vers les hôtes encore disponibles. Si votre maître a échoué et que vous avez dû promouvoir l'un de vos esclaves, les proxys détecteront ces changements de topologie et achemineront votre trafic en conséquence.

Des proxys plus avancés peuvent faire beaucoup plus, comme acheminer le trafic en fonction de règles de requête précises, mettre en cache des requêtes ou les mettre en miroir. Ils peuvent même être utilisés pour implémenter différents types de partitionnement.

Les plus utiles sont ProxySQL, HAproxy, MaxScale (utilisation gratuite limitée).

Éviter le verrouillage lors de la migration vers le cloud

Au cours des dix dernières années, de nombreuses entreprises sont passées à la technologie basée sur le cloud pour éviter les limitations budgétaires des centres de données et du développement logiciel agile. L'utilisation du cloud permet à votre entreprise et à vos applications de profiter des économies de coûts et de la polyvalence inhérentes au cloud computing.

Bien que les solutions cloud offrent de nombreux avantages aux entreprises, elles présentent néanmoins certains risques. Par exemple, la dépendance vis-à-vis d'un fournisseur est aussi élevée dans le cloud que dans le centre de données.

Alors que de plus en plus d'entreprises exécutent leurs charges de travail dans le cloud, les services de base de données cloud sont de plus en plus utilisés pour gérer les données. L'un des avantages de l'utilisation d'un service de base de données cloud au lieu de maintenir votre base de données est qu'il réduit les frais généraux de gestion. Les services de base de données des principaux fournisseurs de cloud partagent de nombreuses similitudes, mais ils ont des caractéristiques individuelles qui peuvent les rendre bien ou mal adaptés à votre charge de travail.

Le modèle hybride d'hébergement de bases de données

Alors que de plus en plus d'entreprises migrent vers le cloud, le modèle hybride devient de plus en plus populaire. Le modèle hybride est considéré comme un modèle sûr pour de nombreuses entreprises.

En fait, il est difficile de faire une transplantation cardiaque et de tout transférer immédiatement. De nombreuses entreprises effectuent une migration lente qui prend généralement un an, voire une éternité, jusqu'à ce que tout soit migré. Le déménagement doit se faire dans une paix acceptable.

Le modèle hybride vous permettra non seulement de construire un système évolutif hautement disponible, mais en raison de sa nature, il constitue une excellente première étape pour éviter le verrouillage. De par la conception de l'architecture, vos systèmes fonctionneront dans une sorte de mode mixte.

Un exemple de telles architectures pourrait être un cluster qui fonctionne dans un centre de données interne et sa copie située dans le cloud.

Conclusion

La migration d'une base de données propriétaire vers l'open source peut présenter plusieurs avantages :coût de possession réduit, accès et utilisation d'un moteur de base de données open source, intégration étroite avec le Web. L'open source a beaucoup à offrir et, en raison de sa nature, est une excellente option pour éviter la dépendance vis-à-vis d'un fournisseur.