Pourquoi utiliser des bases de données relationnelles à l'ère NoSQL?

Pourquoi utiliser des bases de données relationnelles à l'ère NoSQL?
Les bases de données relationnelles existent depuis plus de 40 ans. Ils ont peu changé pendant cette période, et bien qu'ils fonctionnent bien, ils n'ont pas été en mesure de répondre aux exigences d'évolutivité des applications cloud natives que nous trouvons tout autour de nous. C'est là que NoSQL est intervenu pour combler le manque d'évolutivité. Nous en sommes à un point où beaucoup pensent que l'avènement des bases de données NoSQL a sonné le glas des bases de données relationnelles. Matt Yokovit, responsable de l'expérience chez Percona, qui possède les deux types de bases de données dans son portefeuille, n'est pas encore prêt à éliminer progressivement les bases de données relationnelles. Lors d'une discussion lors de l'édition européenne de sa conférence annuelle Percona Live à Amsterdam, Matt explique son point de vue en disant que chaque base de données qu'il a vue est bonne et mauvaise pour les autres : "Quand vous avez une base de données, c'est bon pour un cas d'utilisation , cela peut être extrêmement rapide, jusqu'à ce que vous souhaitiez faire autre chose que ce cas d'utilisation." Il explique cela en prenant l'exemple des bases de données de stockage en colonnes et comment elles étaient censées tout révolutionner, il y a de nombreuses années, lorsqu'elles fait irruption sur la scène de base. données. Bien qu'ils connaissent bien l'analyse, les utilisateurs ont rapidement réalisé qu'ils n'étaient pas très bons pour traiter les transactions ou même gérer les charges de travail régulières. C'est la même chose avec NoSQL et les bases de données relationnelles : "Ce que nous voyons, c'est que beaucoup plus de bases de données sont construites à cette fin aujourd'hui. Et c'est formidable. Mais cela rend les gens plus confus, car maintenant ils ont plus d'options et plus de technologie, et il est plus difficile de gérez-les tous et commencez à les gérer comme une unité cohérente. Donc, je pense que non, nous ne le voyons pas comme la mort de la relation. C'est juste que la relation a son cas d'utilisation.

(Crédit d'image: Crédit d'image: Inception Photos / Pexels)

Facilité d'utilisation

Matt pense que la popularité des bases de données NoSQL est principalement due à leur facilité d'utilisation et à leur familiarité. En utilisant MongoDB comme exemple, il dit que les développeurs l'adorent parce qu'il est conçu pour les développeurs : "Les développeurs détestent SQL, soyons honnêtes, ils détestent SQL. C'est SQL, c'est vieux, et quand vous entrez dans une MongoDB, son interface vous donne des données que "C'est naturel pour l'application, non? Les données sont échangées dans un format très similaire à JSON. Donc, vous le savez déjà parce que vous l'encodez. Et maintenant, vous savez, la base de données. " Mais il y a un inconvénient à cela. Matt dit que les développeurs ont tendance à préférer les bases de données NoSQL pour les applications natives du cloud, car elles sont faciles à mettre à l'échelle, communément appelées "mise à l'échelle des cartes de crédit". Il pense que NoSQL offre une barrière à l'entrée plus faible, ce que les développeurs ont toujours fait. Je cherchais : "Mais cette nouvelle génération qui est sortie du monde du développement, vous n'aviez pas à penser à une base de données, vous cliquez simplement sur un bouton, allez-y, et quel que soit le bouton, c'est plus simple. Et c'est un bonne chose. Au fur et à mesure que les applications grandissent et grandissent, la base de données devient un goulot d'étranglement et ajoute de plus en plus de ressources de base de données jusqu'à ce que vous ne puissiez plus en ajouter." C'est le moment idéal pour utiliser NoSQL . Matt, qui a travaillé avec des bases de données tout au long de sa carrière, estime que les compétences des développeurs dans les bases de données et les connaissances techniques diminuent à mesure qu'elles deviennent plus conviviales : "Vous ne comprenez pas les technologies sous-jacentes, des problèmes tels que des applications mal configurées et des violations de données. "

Escalade relationnelle

L'une des raisons de la popularité des bases de données NoSQL est qu'elles sont beaucoup plus adaptables que les bases de données relationnelles. Matt est d'avis que chaque base de données NoSQL ou non relationnelle évolue un peu différemment. Parlant de mise à l'échelle des bases de données relationnelles, il a expliqué qu'il était possible de mettre en commun plus de ressources pour créer une instance plus grande ou d'utiliser une technologie de clustering comme le cluster InnoDB de MySQL. , votre propre cluster Percona ExtraDB ou le cluster MariaDB Galera. Bien que les bases de données NoSQL soient généralement plus efficaces en termes de taille, Matt dit qu'il existe de nombreuses approches différentes qui s'appuient sur les bases de données relationnelles pour les rendre plus efficaces : "Vous voyez beaucoup de technologies sur lesquelles vous pouvez vous asseoir pour résoudre ces problèmes. , et vous pouvez faire en sorte que les technologies SQL et les technologies NoSQL aient des niveaux d'échelle équivalents." Parfois, vous avez besoin de composants supplémentaires." Toujours en utilisant MongoDB pour illustrer son propos, Matt explique qu'une grande partie de la fonctionnalité de redimensionnement est intégrée par défaut et donc plus facile à utiliser : "Tant que vous êtes dans MySQL, vous devrez peut-être implémenter quelque chose comme Vitess, ou quelque chose comme ProxySQL ou quelque chose de plus pour vous amener au même niveau. Mais encore une fois, c'est le niveau de facilité pour le faire évoluer plutôt que de pouvoir ou non. "

Les meilleures bases de données dans le cloud

(Crédit d'image: Pixabay)

Plus de cloud natif

En regardant dans sa boule de cristal, Matt pense qu'ils verront les bases de données relationnelles devenir de plus en plus basées sur le cloud dans un avenir proche : "Toutes les applications de nos jours sont basées sur le cloud. Tout le monde veut créer ses applications natives du cloud, ce qui signifie ajouter et supprimer rapidement nœuds et serveurs, ainsi que la possibilité de les activer et de les désactiver." "Je pense que vous verrez plus d'évolution dans ce type d'espace de cluster." Vous verrez une conception et une technologie plus conviviales conçues pour l'évolutivité, les performances et la sécurité. "