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à le LAMP pile de développement Web. Ce qui, en bref, représentait Linux, Apache, MySQL et PHP / Python / Perl. La plupart des projets Web étaient construits en utilisant uniquement la pile spécifique.
Il était (et est toujours) accessible, relativement facile à entretenir et n'avait pratiquement aucun coût d'entrée car 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 la référence en matière de développement Web et logiciel. Et au cours des deux dernières années, non seulement PHP a perdu son charme, mais nous avons constaté une croissance considérable de l'utilisation de JavaScript dans pratiquement tous les projets imaginables.
Ce graphique, tiré de l'enquête annuelle des développeurs de SO, montre à quel point PHP a pris du retard sur des langages comme Python, Java et, surtout, JavaScript.
Pourtant, cet article ne se concentre pas sur langages de programmation, et à la place, nous allons examiner l'état des systèmes de bases de données modernes et leurs différences. Comme le montre le graphique ci-dessus, SQL est toujours aussi performant, avec plus de 52% des développeurs professionnels qui l'utilisent dans leur flux de travail quotidien.
Eh bien, tout comme les langages de programmation changent et évoluent, il en va de même pour les systèmes de bases de données. En regardant plus loin dans l'enquête mentionnée précédemment, nous avons le graphique suivant qui montre la croissance d'autres systèmes de bases de données.
Les deux systèmes, en particulier, qui nous intéressent le plus pour cet article sont MongoDB et MariaDB. Les deux ont montré une augmentation constante de l'utilisation et de la popularité, et il vaut donc la peine d'examiner pourquoi cela se produit.
En outre, il serait pertinent 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'une technologie (SQL) chevronnée et fiable, il peut avoir ses inconvénients lorsqu'il s'agit de projets à grande échelle.
Regardons 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 de plusieurs systèmes de base de données destinés à des fins modernes, MySQL reste populaire, même parmi les entreprises technologiques les plus évoluées. Netflix, Twitter, Slack et autres grandes marques ne sont que quelques-unes des millions d'entreprises qui utilisent MySQL sous une forme ou une autre.
Même la plate-forme 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 changer dès que Automattic a de grands projets pour façonner l'avenir de WordPress grâce à JavaScript et ses capacités.
Alors, quelles sont les principales fonctionnalités de MySQL?
- Communication client et serveur. MySQL présente un moyen sans effort de communication dos à dos entre le client et le serveur. Cela facilite la mise à l'échelle des applications MySQL via de nombreux serveurs, réseaux ou systèmes cloud différents.
- La 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 réalisé grâce à son SELECT la syntaxe, qui offre un énorme potentiel pour gérer même les plus grands ensembles de données.
- Performance. Bien que les mots «MySQL & Performance» n'allaient pas de pair traditionnellement, les dernières versions du système se sont avérés extrêmement performants.
- Soutenir. Étant donné que MySQL existe depuis plus longtemps que la plupart des autres systèmes de base de données, vous avez accès à un plus grand nombre de besoins d'assistance. Ceci comprend la documentation réelle, Sites de questions-réponsesEt, bien sûr, tutoriels en ligne.
Tous ces éléments font de MySQL un choix solide pour à peu près tout type de projet. Mais, bien sûr, il y a aussi quelques inconvénients. L'une d'elles est que MySQL stocke les données dans des tables, des lignes et des colonnes. En d'autres termes, à mesure que la taille de votre base de données augmente, il en va de même pour les ressources nécessaires pour accéder, analyser et utiliser ces données.
Les développeurs les plus expérimentés le comprennent très bien; par conséquent, il y a une augmentation des développeurs et des 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 aide à apprendre le fonctionnement général des bases de données et vous disposez de nombreuses ressources pour travailler.
MariaDB: Avec la performance à l'esprit.
MariaDB a un intéressant histoire derrière sa création. Plus précisément, MariaDB est un fork de MySQL et est pris en charge par certains des premiers développeurs de MySQL. Il y avait des inquiétudes concernant l'acquisition de MySQL par Oracle (entreprise), c'est pourquoi MariaDB est née en 2009. Depuis lors, le projet n'a cessé d'évoluer et de croître, et comme le montre le graphique précédent, il est utilisé par environ 17% des développeurs professionnels dès aujourd’hui.
L'une des grandes choses à propos de MariaDB étant un fork de MySQL original, c'est que vous pouvez facilement (et en toute sécurité!) passer d'un système de base de données à l'autre. La plupart des syntaxes de 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 le plus populaire? Examinons quelques points essentiels qui montrent comment MariaDB peut améliorer votre expérience de gestion des données en ce qui concerne les bases de données.
- Moteurs de stockage. MariaDB est livré avec une dizaine de moteurs de stockage (Cassandra, TokuDB, etc.), qui vous permettent de stocker plus efficacement différents types de données. Cela signifie également que l'accès auxdits types de données dépend moins des performances du serveur.
- Mise en cache / indexation plus rapide. Un moteur de stockage unique appelé «Memory» est jusqu'à 25% plus rapide pour les commandes INSERT que celui de MySQL. Cela prend de l'importance à mesure que la quantité d'informations que vous stockez dans votre base de données augmente.
- Système de plugins. MariaDB prend en charge l'utilisation de plugins, des composants logiciels qui peuvent être ajoutés au logiciel principal 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 comme Wikipédia, Google et de nombreuses banques de classe mondiale ont tous adopté MariaDB comme premier choix d'un système de base de données. Cela montre non seulement la robustesse de MariaDB mais aussi la confiance que les grandes marques ont dans le projet.
Découvrez comment installer MariaDB et la configurer pour la production.
MongoDB: Structuration de données haute disponibilité.
MongoDB continue de gagner en popularité grâce à son tristement célèbre système de base de données documentaire. En bref, MongoDB vous permet d'insérer de nouvelles données dans votre base de données à un rythme accéléré en utilisant le insertMany () fonction. Alors qu'avec MySQL, vous devrez le faire un par un. Il ne nécessite pas de graphique pour comprendre la différence.
Mais, au cas où vous en voudriez un, voici un graphique qui nous est fourni par Onyancha Brian Henry.
Ce que vous regardez ici, c'est le temps qu'il faut à MySQL (rouge) et MongoDB (vert) pour insérer des données dans la base de données. Les données disponibles ont été calculées en utilisant une référence d'un million d'inserts.
Le plus souvent, les développeurs qui savent déjà qu'ils vont traiter de grandes quantités de données mixtes choisiront MongoDB car il offre le plus de flexibilité. Pour gérer lesdites données, c'est-à-dire. Sans être lié à un schéma, il est possible que les données et leurs types soient rapidement enregistrés pour une utilisation instantanée ou ultérieure.
- Évolutivité Vous souhaitez transférer vos données sur plusieurs serveurs? MongoDB encourage ce comportement car il complète des performances encore plus rapides. De plus, toutes les données sont enregistrées au format JSON.
- Développement mobile. Un nouveau type de pile technologique est appelé CHIFFRES (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 aucune prévoyance. Dans le cas de MongoDB, vous bénéficiez d'une flexibilité extrême pour déplacer ou transférer dynamiquement votre base de données sans avoir à résoudre les problèmes liés à la structure de données interne.
Il y a une raison pour laquelle plus de 26% des développeurs professionnels travaillent déjà avec MongoDB du quotidien. Il s'agit d'un puissant système de base de données basé sur des documents destiné aux applications et logiciels modernes.
Conclusion
Trouver le bon système de base de données pour vous sera toujours un peu fastidieux. Vous pourriez passer une semaine à travailler avec un certain système pour constater qu'il ne fait pas exactement ce que vous voulez. Et de nombreuses autres raisons pour lesquelles un certain système peut ne pas répondre à vos attentes.
Cela dit, MySQL est toujours un choix sûr. Cela fait des décennies maintenant. Mais, si vous avez une expérience préalable en développement et avez des projets plus importants pour vos projets, les nouveaux systèmes de bases de données que nous avons actuellement sur le marché valent vraiment la peine d'être examinés.
Faites-nous savoir dans les commentaires si vous avez récemment effectué vous-même des transitions de base de données. C'est toujours bon d'entendre une autre facette de l'histoire. Enfin, nous espérons que cet article couvre suffisamment de terrain pour que vous puissiez examiner chaque système de plus près.