Si vous avez vécu au début des années 90 et 2000, il y a de fortes chances que vous connaissiez déjà la pile de développement web LAMP. En bref, il s’agit de Linux, Apache, MySQLet PHP/Python/Perl. La plupart des projets web étaient construits en utilisant uniquement cette pile spécifique.
Elle était (et est toujours) accessible, relativement facile à maintenir, et son coût d’entrée était quasiment nul puisque vous pouviez gérer un projet LAMP sur une machine très modeste.
Mais les temps changent, et nous en avons tous été témoins. PHP était autrefois l’étalon-or du développement web et logiciel. Au cours des deux dernières années, non seulement PHP a perdu de son charme, mais nous avons assisté à une croissance considérable de l’utilisation de JavaScript dans pratiquement tous les projets imaginables.
Ce graphique, tiré de l’enquête annuelle de SO auprès des développeurs, montre à quel point PHP s’est laissé distancer par des langages comme Python, Java et, surtout, JavaScript.
Cependant, cet article ne porte pas sur les langages de programmation, mais sur l’état des systèmes de bases de données modernes et leurs différences. Comme le montre le graphique ci-dessus, le langage SQL a toujours le vent en poupe, puisque plus de 52 % des développeurs professionnels l’utilisent dans leur travail quotidien.
Tout comme les langages de programmation, les systèmes de base de données changent et évoluent. Si l’on examine de plus près l’enquête susmentionnée, on obtient le graphique suivant qui illustre la croissance d’autres systèmes de base de données.
Les deux systèmes qui nous intéressent le plus dans le cadre de cet article sont MongoDB et MariaDB. Ces deux systèmes ont connu une augmentation constante de leur utilisation et de leur popularité, et il est donc intéressant de se pencher sur les raisons de cette évolution.
En outre, il serait intéressant de savoir si l’un ou l’autre de ces systèmes présente des avantages significatifs par rapport à l’utilisation de SQL dans votre flux de travail. Bien qu’il s’agisse d’une technologie éprouvée et fiable (SQL), elle peut présenter des inconvénients lorsqu’il s’agit de projets à grande échelle.
Voyons cela de plus près.
MySQL : Populaire, facile d’accès, fiable.
MySQL est le système de gestion de base de données le plus connu au monde. Il est maintenu par Oracle(qui a progressivement acquis le moteur), et la dernière version officielle est la 8.0. MySQL est en développement actif et reste un projet open-source.
Malgré l’augmentation du nombre de systèmes de base de données différents destinés à des fins modernes, MySQL reste populaire, même parmi les entreprises technologiques les plus évoluées. Netflix, Twitter, Slack et d ‘autres grandes marques ne sont que quelques-unes des millions d’entreprises qui s’appuient sur MySQL sous une forme ou une autre.
Même la plateforme de blogs la plus populaire de la planète, WordPress, continue religieusement d’utiliser MySQL comme système de base de données de choix. Cependant, cela pourrait bientôt changer car Automattic a de grands projets pour façonner l’avenir de WordPress grâce à JavaScript et à ses capacités.
Quelles sont donc les principales caractéristiques de MySQL ?
- Communication entre le client et le serveur. MySQL offre un moyen simple de communication entre le client et le serveur. Il est ainsi facile de faire évoluer les applications MySQL à travers de nombreux serveurs, réseaux ou systèmes en nuage.
- Flexibilité. MySQL brille par sa capacité à permettre aux développeurs de gérer les données de manière très flexible. Ceci est principalement possible grâce à la syntaxe SELECT, qui offre un énorme potentiel pour gérer même les plus grands ensembles de données.
- Performance. Bien que les mots “MySQL et performance” n’aillent pas de pair traditionnellement, les dernières versions du système se sont révélées extrêmement performantes.
- Support. Comme MySQL existe depuis plus longtemps que la plupart des autres systèmes de base de données, vous avez accès à un pool de support beaucoup plus important. Cela inclut la documentation, les sites de questions-réponses et, bien sûr, les tutoriels en ligne.
Tous ces éléments font de MySQL un choix solide pour pratiquement tous les types de projets. Mais, bien sûr, il y a aussi quelques inconvénients. L’un d’entre eux est que MySQL stocke les données dans des tables, des lignes et des colonnes. En d’autres termes, plus la taille de votre base de données augmente, plus vous avez besoin de ressources pour accéder à ces données, les analyser et les utiliser.
Les développeurs les plus expérimentés l’ont bien compris ; c’est pourquoi il y a de plus en plus de développeurs et de marques qui s’appuient sur des systèmes de base de données plus rationalisés.
Dans l’ensemble, MySQL est un bon point de départ pour tout nouveau projet web ou logiciel. Il vous permet d’apprendre le fonctionnement général des bases de données, et vous disposez de nombreuses ressources pour travailler.
MariaDB : pour des performances optimales.
L’histoire deMariaDB est intéressante. Plus précisément, MariaDB est un dérivé de MySQL et est soutenu par certains des premiers développeurs de MySQL. L’acquisition de MySQL par Oracle (entreprise) suscitait des inquiétudes, et MariaDB a donc vu le jour en 2009. Depuis, le projet n’a cessé d’évoluer et de croître et, comme le montre le graphique précédent, il est aujourd’hui utilisé par environ 17 % des développeurs professionnels.
L’un des avantages de MariaDB est qu’il s’agit d’une version dérivée de MySQL, ce qui vous permet de passer facilement (et en toute sécurité) d’un système de base de données à l’autre. La plupart des syntaxes de la ligne de commande restent largement les mêmes.
Alors, vous vous demandez peut-être quel est l’intérêt de choisir MariaDB plutôt que le système MySQL, plus populaire ? Examinons quelques points essentiels qui montrent comment MariaDB peut améliorer votre expérience de gestion des données en matière de bases de données.
- Moteurs de stockage. MariaDB est livré avec une douzaine de moteurs de stockage (Cassandra, TokuDB, etc.), qui vous permettent de stocker différents types de données plus efficacement. Cela signifie également que l’accès à ces types de données dépend moins des performances du serveur.
- Mise en cache et indexation plus rapides. Un moteur de stockage unique appelé “Memory” est jusqu’à 25 % plus rapide pour les commandes INSERT que celui de MySQL. Cet avantage est d’autant plus important que la quantité d’informations que vous stockez dans votre base de données augmente.
- Système de plugins. MariaDB supporte l’utilisation de plugins, des composants logiciels qui peuvent être ajoutés au logiciel de base sans avoir à reconstruire le serveur MariaDB à partir du code source. Par conséquent, les plugins peuvent être chargés au démarrage, ou chargés et déchargés pendant que le serveur fonctionne sans interruption.
Le moteur principal est compatible avec tous les principaux systèmes d’exploitation, y compris Windows, Linux et même OSX si c’est la voie que vous empruntez.
Au cours des deux dernières années, des entreprises telles que Wikipedia, Google et de nombreuses banques de renommée mondiale ont toutes adopté MariaDB comme premier choix de système de base de données. Cela montre non seulement la robustesse de MariaDB, mais aussi la confiance que les grandes marques accordent au projet.
Découvrez comment installer MariaDB et le configurer pour la production.
MongoDB : structuration des données à haute disponibilité.
MongoDB continue de gagner en popularité grâce à son fameux système de base de données basé sur des documents. En bref, MongoDB vous permet d’insérer de nouvelles données dans votre base de données à un rythme accéléré à l’aide de la fonction insertMany(). Alors qu’avec MySQL, vous devriez le faire une par une. Vous n’avez pas besoin d’un graphique pour comprendre la différence.
Mais si vous en voulez un, voici un graphique fourni par Onyancha Brian Henry.
Vous voyez ici le temps nécessaire à MySQL (en rouge) et à MongoDB (en vert) pour insérer des données dans la base de données. Ces données ont été calculées à partir d’un benchmark d’un million d’insertions.
Le plus souvent, les développeurs qui savent déjà qu’ils auront à traiter de grandes quantités de données mixtes choisiront MongoDB parce qu’il offre le plus de flexibilité. Pour la gestion de ces données, en l’occurrence. Sans être liés à un schéma, les données et leurs types peuvent être rapidement sauvegardés pour un usage immédiat ou ultérieur.
- Évolutivité. Vous souhaitez transférer vos données sur plusieurs serveurs ? MongoDB encourage ce comportement car il permet d’obtenir des performances encore plus rapides. De plus, toutes les données sont sauvegardées au format JSON.
- Développement mobile. Un nouveau type de pile technologique est appelé MERN (MongoDB, Express, React et Node), qui est destiné au développement d’applications mobiles de haute qualité. Étant donné que les applications mobiles ont tendance à produire une énorme quantité de données à un rythme très rapide, il est logique que MongoDB soit le choix par défaut à cette fin.
- Structure dynamique. Des problèmes peuvent survenir sans que l’on s’y attende. Dans le cas de MongoDB, vous bénéficiez d’une extrême flexibilité pour déplacer ou transférer dynamiquement votre base de données sans avoir à vous préoccuper des problèmes liés à la structure interne des données.
Ce n’est pas pour rien que plus de 26 % des développeurs professionnels travaillent déjà quotidiennement avec MongoDB. Il s’agit d’un système de base de données puissant, basé sur des documents, conçu pour les applications et les logiciels modernes.
Conclusion
Trouver le système de base de données qui vous convient est toujours un peu difficile. Il se peut que vous passiez une semaine à travailler avec un certain système pour vous rendre compte qu’il ne fait pas exactement ce que vous voulez. Et il y a bien d’autres raisons pour lesquelles un certain système peut ne pas répondre à vos attentes.
Cela dit, MySQL est toujours un choix sûr. Il l’est depuis des décennies. Mais si vous avez de l’expérience dans le développement et que vous avez des projets plus ambitieux, les nouveaux systèmes de base de données qui arrivent sur le marché valent vraiment la peine d’être étudiés.
Faites-nous savoir dans les commentaires si vous avez vous-même effectué récemment une transition vers une base de données. Il est toujours bon d’entendre un autre point de vue. Enfin, nous espérons que cet article couvre suffisamment de points pour vous inciter à examiner chaque système de plus près.