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

Conseils pour migrer des bases de données propriétaires vers des bases de données open source

À l'époque, les bases de données propriétaires étaient les seules options acceptables.

"Personne n'a jamais été licencié pour avoir acheté auprès d'Oracle/Microsoft/IBM" était le dicton.

Énormes bases de données monolithiques utilisées à toutes fins. Assistance payante - voilà à quoi ressemblait le paysage des bases de données dans les années 90 et au début des années 2000. Bien sûr, les bases de données open source étaient là, mais elles étaient traitées comme une «base de données de jouets», adaptée à un petit site Web, un blog peut-être ou une très petite boutique en ligne. Personne de sensé ne les utiliserait pour quoi que ce soit de critique.

Les choses ont changé avec le temps et les bases de données open source ont mûri. De plus en plus sont créés chaque année. Nous voyons maintenant la spécialisation, permettant aux utilisateurs de choisir la meilleure option pour une charge de travail donnée (séries temporelles, analytique, columnstore, NoSQL, relationnelle, clé-valeur ). Vous pouvez choisir toutes les bases de données dont vous avez besoin et, généralement, il existe de nombreuses options parmi lesquelles choisir. Cela conduit à l'open source de plus en plus populaire dans le monde des bases de données. Les entreprises regardent maintenant leurs factures de leur fournisseur de base de données propriétaire et se demandent si elles peuvent les réduire un peu en adoptant une base de données open source gratuite.

Comme d'habitude, il y a du pour et du contre. Quelles sont les choses que vous voudrez peut-être considérer avant d'implémenter une base de données open source ? Dans cet article de blog, nous partagerons quelques conseils que vous voudrez peut-être garder à l'esprit lors de la planification de la migration vers des bases de données open source.

Commencer petit et développer

Si votre organisation n'utilise pas de bases de données open source, elle n'a probablement pas non plus d'expérience dans leur gestion. Bien que cela soit faisable par des consultants externes, ce n'est probablement pas une bonne idée de migrer l'ensemble de votre environnement vers des bases de données open source.

La meilleure approche serait plutôt de commencer par de petits projets. Peut-être avez-vous besoin de créer une sorte d'outil ou de site Web interne, peut-être une sorte d'outil de surveillance - c'est une excellente occasion d'utiliser des bases de données open source et d'acquérir l'expérience de leur utilisation dans des environnements réels. Cela vous permettra d'apprendre les tenants et les aboutissants d'une base de données - comment la diagnostiquer, comment suivre ses performances, comment l'ajuster pour améliorer ses performances.

De plus, vous en apprendrez plus sur les options et les implémentations de haute disponibilité. Travailler avec elle permet également de comprendre les différences entre la base de données propriétaire que vous utilisez et les bases de données open source que vous avez implémentées pour des projets plus petits. Avec le temps, vous devriez voir l'empreinte de la base de données open source dans votre organisation augmenter de manière significative, ainsi que l'expérience de vos équipes.

À un moment donné, après avoir accumulé suffisamment d'expérience pour exécuter les bases de données open source, vous pouvez décider de tirer le levier et de démarrer un projet de migration. Une autre option, également très probable, consiste à déplacer progressivement vos opérations vers des bases de données open source, projet par projet. Finalement, vos applications existantes qui utilisent un SGBDR propriétaire deviendront obsolètes et, éventuellement, remplacées par une nouvelle itération du logiciel, qui s'appuie sur des bases de données open source.

Choisir la bonne base de données pour le travail

Nous avons déjà mentionné que les bases de données open source sont généralement assez spécialisées. Vous pouvez choisir un magasin de données adapté à différentes utilisations :séries chronologiques, magasin de documents, magasin clé-valeur, magasin en colonnes, recherche de texte. Ceci, combiné avec le conseil précédent, vous permet de choisir exactement le type de base de données dont votre petit projet a besoin. Supposons que vous souhaitiez créer une pile de surveillance pour votre environnement.

Vous voudrez peut-être consulter des bases de données de séries chronologiques telles que Prometheus ou TimeScaleDB pour alimenter votre application de surveillance. Peut-être souhaitez-vous mettre en œuvre une sorte de solutions analytiques/big data. Vous devrez concevoir une sorte de processus ETL pour extraire les données de votre SGBDR principal et les charger dans une solution open source. Il existe de nombreuses options à utiliser comme magasin de données. En fonction des besoins et des données, vous pouvez choisir parmi une grande variété de bases de données, par exemple Clickhouse, Cassandra, Hive et bien d'autres.

Qu'en est-il du déplacement de certaines parties de l'application du SGBDR propriétaire vers une solution open source ?

Il existe également des options pour cela. Les magasins de données comme PostgreSQL ou MariaDB ont de nombreuses fonctionnalités liées à la migration facile à partir de magasins de données comme Oracle. Ils sont livrés avec, par exemple, la prise en charge de PL/SQL et d'autres fonctionnalités SQL disponibles pour Oracle. Ceci est d'une grande aide - moins de code doit être converti parallèlement à la migration d'Oracle vers d'autres bases de données, il est plus probable que vos procédures et fonctions stockées fonctionneront également la plupart du temps hors de la boîte et vous n'aurez pas à dépenser beaucoup temps nécessaire pour réécrire, tester et déboguer le code qui représente une logique de base de votre application.

Vous ne devez pas non plus oublier les ressources dont vous disposez déjà dans votre équipe. Peut-être que quelqu'un a de l'expérience dans des datastores open source plus populaires ? Si ceux-ci correspondent à vos besoins et s'intègrent dans votre environnement, vous pourrez peut-être utiliser les connaissances existantes de votre équipe et faciliter la transition vers le monde open source.

Envisagez d'obtenir de l'aide

La migration vers des magasins de données avec lesquels vous n'avez pas trop d'expérience est toujours délicate. Même si vous procédez par petites étapes, vous pouvez toujours être pris par un comportement surprise, une situation inattendue, des bogues ou même simplement des situations opérationnelles avec lesquelles vous n'êtes pas familier.

Les bases de données open source bénéficient généralement d'un excellent support communautaire - listes de diffusion, forums, canaux Slack. Habituellement, lorsque vous demandez, quelqu'un essaie de vous aider. Cela peut ne pas suffire dans certains cas. Si tel est le cas, vous devriez rechercher un support payant. Il existe de nombreuses façons d'y parvenir.

Tout d'abord, tous les projets open source ne sont pas égaux. Des projets plus importants, comme PostgreSQL ou MySQL peuvent avoir développé un écosystème de sociétés de conseil qui embauchent des experts qui peuvent faire du conseil pour vous. Si une telle option, pour quelque raison que ce soit, n'est pas disponible ou faisable, vous pouvez toujours contacter les mainteneurs du projet.

Il est très courant que l'entreprise qui développe le magasin de données se fera un plaisir de vous aider moyennant un prix.

Les sociétés de conseil indépendantes ont un avantage non négligeable :elles sont indépendantes et proposeront une solution basée sur leur expérience, et non sur la banque de données et les outils qu'elles développent. Les fournisseurs, eh bien, ils poussent généralement leurs propres solutions et environnement. D'un autre côté, les fournisseurs sont très intéressés à accroître l'adoption de leur magasin de données. Si vous migrez depuis un magasin de données propriétaire, il se peut qu'il ait été dans cette situation plusieurs fois auparavant. Il devrait donc être en mesure de vous fournir de bonnes pratiques, de vous aider à concevoir le processus de migration, etc. Pour une entreprise inexpérimentée, l'accès aux experts dans le domaine de la migration peut être un atout majeur.

Vous pouvez trouver l'accès à un support externe utile non seulement lors de la phase de migration. La gestion d'un nouveau datastore est toujours délicate et l'apprentissage de tous les aspects des opérations prend du temps. Même après la migration, vous pouvez toujours bénéficier d'avoir quelqu'un que vous pouvez appeler, demander et, ce qui est le plus important, apprendre. Formations, DBA à distance, toutes ces options sont courantes dans le monde des bases de données open source, en particulier pour les projets plus importants et plus établis.

Trouver un système ou un outil pour vous aider

Les bases de données open source sont livrées avec une variété d'outils, certains plus ou moins complexes. Certains ajoutent des fonctionnalités (haute disponibilité, sauvegardes, monitoring), certains sont conçus pour faciliter la gestion de la base de données.

Il est important de les exploiter (les contrats de conseil peuvent être utiles ici pour vous présenter les outils les plus importants pour le datastore open source de votre choix) car ils peuvent augmenter considérablement votre vitesse opérationnelle et les performances et stabilité de l'ensemble.

Certains outils sont gratuits, certains nécessitent une licence pour fonctionner, vous devriez regarder dans la piscine et choisir ce qui vous convient le mieux. Nous parlons ici d'équilibreurs de charge, d'outils pour gérer la topologie de réplication, d'outils de gestion d'adresses IP virtuelles, de solutions de clustering, de plates-formes de surveillance et d'observabilité plus ou moins dédiées qui peuvent tout suivre, à partir des métriques de performances de base de données typiques en donnant des prédictions intelligentes basées sur les données à des spécialistes. analyse des performances des requêtes.

Le monde open source est l'endroit où ces outils prospèrent - cela a aussi des avantages et des inconvénients. Il est facile de trouver l'outil "A", il est difficile de trouver "L'outil". Vous pouvez trouver de nombreux projets sur GitHub, chacun faisant presque la même chose que les autres. Lequel choisir est la partie la plus difficile. C'est pourquoi, idéalement, vous auriez un coup de main dans le cadre d'un contrat de support ou vous pouvez également compter sur des plates-formes de gestion qui vous aideront à gérer plusieurs aspects des opérations sur les bases de données open source, notamment en vous aidant à standardiser et à choisir les bons outils pour ça.

Il existe également des plates-formes telles que ClusterControl, qui a été conçue pour aider les personnes non expérimentées à saisir pleinement la puissance des bases de données open source. ClusterControl prend en charge plusieurs types différents de magasins de données open source :MySQL et ses variantes, PostgreSQL, TimeScaleDB ou MongoDB. Il fournit une interface utilisateur unifiée pour accéder aux fonctions de gestion de ces banques de données, ce qui facilite leur déploiement et leur gestion. Au lieu de passer du temps à tester différents outils et solutions, en utilisant ClusterControl, vous pouvez facilement déployer un environnement hautement disponible, planifier des sauvegardes et suivre les mesures dans le système.

Des outils comme ClusterControl réduisent la charge de travail de votre équipe, augmentant leur capacité à comprendre ce qui se passe dans la base de données avec laquelle ils ne sont pas aussi familiers qu'ils l'auraient souhaité.

Prenez votre temps

Ce qu'il est bon de garder à l'esprit, c'est qu'il n'y a pas besoin de se précipiter. La stabilité de votre environnement et le bien-être de vos utilisateurs sont primordiaux. Prenez votre temps pour exécuter les tests, vérifiez tous les aspects de votre application. Vérifiez que vous disposez de processus de haute disponibilité et de reprise après sinistre appropriés.

Ce n'est que lorsque vous êtes sûr à 100 % que vous êtes prêt à changer, qu'il est temps de tirer le levier et de passer aux bases de données open source.