10 octobre 2023

Amazon RDS Aurora vs RDS MySQL vs MySQL sur EC2 : un guide pour un bon choix.

Découvrez quelle base de données répond le mieux à vos besoins : une analyse détaillée de MySQL, MariaDB et Aurora AWS axée sur les performances et la rentabilité.

À l’ère du numérique dans laquelle nous vivons, rapidité et réactivité sont devenues des éléments fondamentaux pour la réussite de tout projet en ligne. Qu’il s’agisse d’un site institutionnel, d’e-commerce ou d’une plateforme de contenu, la performance est souvent la clé pour se démarquer de la concurrence et offrir une expérience utilisateur supérieure. Cela est particulièrement vrai pour les CMS (Content Management Systems) tels que WordPress, Joomla et Drupal, ainsi que pour les plateformes de commerce électronique telles que WooCommerce, Magento et Prestashop, qui nécessitent une base de données robuste et rapide pour gérer de gros volumes de données et de données réelles. transactions temporelles.

Choisir la bonne base de données peut faire la différence entre le succès et l’échec d’une opération en ligne. En plus de garantir des performances élevées, il est également crucial de prendre en compte la rentabilité, en particulier pour les startups et les petites entreprises disposant de budgets limités. D’un autre côté, les grandes entreprises recherchent des solutions évolutives capables d’évoluer avec elles, sans compromettre la vitesse ou la sécurité.

Dans cet article, nous proposons une analyse détaillée et comparative de trois systèmes de gestion de bases de données relationnelles (SGBDR) couramment utilisés : MySQL, MariaDB et Amazon Aurora. L’objectif est de fournir une image claire de leurs performances, de leurs capacités et de leur efficacité économique. Cela vous permettra de prendre une décision plus éclairée, en adaptant la solution choisie aux besoins spécifiques de votre projet.

À travers une série de tests, nous analyserons différents aspects, notamment la vitesse de traitement, l’évolutivité et, bien sûr, le coût. Ces facteurs seront essentiels pour déterminer quel système de base de données est le mieux adapté pour prendre en charge une application Web hautes performances, comme cela pourrait être requis par un site WordPress à fort trafic ou une application Web complexe.

Les prétendants

MySQL : le pionnier qui a standardisé les bases de données

MySQL est l'un des systèmes de gestion de bases de données relationnelles les plus anciens et les plus répandus dans le monde du Web. Initialement développé par MySQL AB en 1995, le logiciel a connu de nombreuses évolutions au fil des années. L'un des tournants les plus importants a été son acquisition par Sun Microsystems en 2008, puis par Oracle en 2010. Si ces acquisitions ont conduit à des avancées technologiques et à une plus grande intégration avec d'autres produits Oracle, elles ont également soulevé plusieurs problèmes. Les critiques portaient par exemple sur les arrêts et licenciements de code, qui érodaient la nature open source du projet. Malgré cela, MySQL continue d'être un pilier dans le monde des bases de données, utilisé par des géants du Web comme Facebook et YouTube.

MariaDB : la révolution idéologique

MariaDB a été conçue comme un fork de MySQL en 2009, principalement en réaction aux politiques de marketing et de licence d'Oracle. Essentiellement, il représente une sorte d’évolution « idéologique » du projet original, en mettant l’accent sur un environnement de développement plus ouvert et communautaire. MariaDB introduit également un certain nombre d'améliorations techniques par rapport à MySQL, notamment une plus grande efficacité et des fonctionnalités supplémentaires. Ces avantages ont contribué à en faire un choix de plus en plus populaire parmi les développeurs à la recherche d'une alternative robuste à MySQL, sans compromettre la compatibilité.

Aurora AWS : La puissance du Cloud au service des bases de données

Amazon Aurora est un service de base de données relationnelle géré qui offre une compatibilité avec MySQL et PostgreSQL. Ce moteur de base de données combine la vitesse et la robustesse des systèmes commerciaux hautes performances avec la flexibilité et l'accessibilité des bases de données open source. Fondamentalement, tous les codes, outils et applications que vous utilisez déjà avec MySQL ou PostgreSQL peuvent être facilement intégrés à Aurora. Dans certains cas, Aurora peut fournir un débit jusqu'à cinq fois supérieur à celui de MySQL et trois fois supérieur à celui de PostgreSQL, sans nécessiter de modifications substantielles des applications existantes.

En plus de ces fonctionnalités, Aurora se démarque par son système de stockage performant, optimisé pour fonctionner en synergie avec ses moteurs de bases de données. Ce stockage distribué rapide est conçu pour s'adapter automatiquement à vos besoins d'évolution, avec un volume de cluster pouvant atteindre 128 tébioctets (TiB). Aurora automatise et standardise également les procédures de clustering et de réplication de bases de données, qui nécessitent généralement des efforts de configuration et de gestion importants.

Enfin, il est important de noter qu'Amazon Aurora est un composant du plus large Amazon Relational Database Service (Amazon RDS). Amazon RDS est une plateforme Web qui facilite la création, la maintenance et la mise à l'échelle de bases de données relationnelles dans le contexte du cloud computing.

Il est toutefois important de noter que ces avantages ont un prix. Aurora peut être une solution coûteuse, en particulier pour les petites entreprises ou pour des projets aux budgets limités, faisant du facteur coût un élément décisif dans le choix de l'adopter ou non.

Méthodologie de test : Comparaison entre MySQL, MariaDB et Aurora sur une instance RDS t4g.medium

AWS RDS (Amazon Web Services Relational Database Service) offre la possibilité de déployer une base de données gérée et optimisée dans le cloud. Les ingénieurs AWS ont fait un excellent travail en optimisant chaque type d'instance pour la quantité de RAM et de cœurs de processeur fournis. Cette pré-configuration par une équipe d'experts nous permet de comparer les performances relatives des moteurs de bases de données, plutôt que notre capacité à optimiser un système de base de données donné.

Première phase de la comparaison

La première partie de cette comparaison consiste à faire tourner chaque base de données sur une instance RDS db.t4g.medium et à exécuter un test avec HammerDB, un outil d'analyse comparative de bases de données très populaire. Nous explorerons ensuite des instances de plus en plus grandes pour voir quelle base de données évolue le mieux.

L'infrastructure utilisée

Toutes les bases de données de cette partie de la comparaison ont été exécutées sur une instance db.t4g.medium équipée de 2 cœurs de processeur ARM et de 4 Go de RAM. Les paramètres par défaut incluaient le chiffrement au repos et aucune information sur les performances ni fonctionnalités de surveillance avancées.

  • Aurora
    • Version : Aurora MySQL 3.01.1 (Compatible avec MySQL 8.0.23)
    • Configuration : un seul maître, pas de réplication
    • Coût estimé (peut varier selon l'utilisation) : 100 $ par mois
  • MySQL
    • Version : MySQL 8.0.27
    • Stockage : 100 Go avec stockage GP2
    • Configuration : Pas de veille
    • Coût estimé : 65,86 $ par mois
  • MariaDB
    • Version : MariaDB 10.5.13
    • Stockage : 100 Go avec stockage GP2
    • Configuration : Pas de veille
    • Coût estimé : 65,86 $ par mois
  • Extension HammerDB
    • Version : HammerDB 4.3 Linux
    • Système d'exploitation: Ubuntu 20.04
    • Type d'instance : EC2 t3.medium
    • Placement : dans la même zone de disponibilité que les instances RDS pour minimiser la latence.
    • Connexion : via VNC vers une interface utilisateur Gnome pour lancer des tests et prendre des captures d'écran.

Exécution du test

Nous avons démarré le compteur de transactions et commencé les tests.

MySQL sur instance moyenne RDS t4.g

Dès la sortie de la boîte, MySQL a immédiatement enregistré environ 50.000 90 transactions par minute, maintenant ce niveau tout au long du test. Le rapport d'utilisation du processeur affiché sur le tableau de bord AWS indiquait que MySQL utilisait environ XNUMX % de ses cycles de processeur disponibles. C'est un signe clair que la charge de travail est limitée par le processeur plutôt que par la mémoire, ce qui suggère que le goulot d'étranglement des performances réside dans la puissance de calcul et non dans la capacité de mémoire de l'instance.

MariaDB sur l'instance RDS db.t4g.medium

Le profil officiel HammerDB sur Github recommande d'utiliser le pilote MySQL pour exécuter des benchmarks sur MariaDB, bien qu'il existe un pilote spécifique pour MariaDB. Par conséquent, nous conserverons tous les paramètres de MariaDB inchangés, à l'exception du nouveau nom d'hôte et des informations d'identification.

MariaDB démontre rapidement qu'avec cette taille d'instance, ses performances sont supérieures. Dès le démarrage du test, nous remarquons une augmentation de la vitesse, suggérant que MariaDB est mieux optimisée pour les instances de cette taille que MySQL.

Ce qui m'a surpris, c'est que la vitesse a continué à augmenter. Lors du test, il atteignait régulièrement près de 80,000 XNUMX transactions par minute ! Cela suggère que MariaDB démarre non seulement avec des performances élevées, mais est également capable de maintenir et d'augmenter ce niveau d'efficacité tout au long du cycle de test.

Aurora sur l'instance RDS db.t4g.medium

Nous étions très impatients de voir ce qu'Aurora pouvait faire lors de ce test. Amazon fait beaucoup d'affirmations sur sa vitesse ; par exemple, la page FAQ d'Aurora affirme qu'il est jusqu'à cinq fois plus rapide que MySQL.

Cependant, ce test montre qu'Aurora était à peu près aussi rapide que MySQL pour cette charge de travail spécifique. Malgré les attentes élevées suscitées par les affirmations d'Amazon, les performances réelles n'ont pas montré d'avantage significatif en termes de vitesse par rapport à MySQL dans le contexte de ce test.

Aurora semblait montrer une utilisation du processeur légèrement inférieure à celle des autres.

Nous avons également vérifié la quantité d'E/S utilisée par Aurora lors des tests, car de nombreux internautes se plaignent du coût étonnamment élevé des E/S. Notre test a culminé à 300 IOPS par seconde.

Au final, la facture attendue pour cette unité fonctionnant sur AWS EU-WEST-2 était d'environ 100 $ par mois.

 

Analyse des résultats du benchmark de performance

Performance mesurée

  • MySQL: Enregistré 16,855 50,945 commandes traitées par minute et XNUMX XNUMX transactions par minute.
  • MariaDB: Avec 23,347 76,866 commandes et XNUMX XNUMX transactions par minute, ses performances sont nettement meilleures.
  • Aurora: Il a totalisé 15,781 47,517 commandes et XNUMX XNUMX transactions par minute.

Analyse détaillée des performances

MariaDB a surpassé ses concurrents, MySQL et Aurora, tant en termes de commandes que de transactions traitées par minute. Ces données sont particulièrement surprenantes pour Aurora qui, malgré les affirmations d'Amazon concernant ses performances supérieures, n'a montré aucun avantage significatif sur MySQL.

Comparaison coût-efficacité : commandes traitées par dollar dépensé

Afin de fournir une analyse plus complète et holistique, nous avons également évalué la rentabilité de chaque base de données. Nous avons utilisé des données de référence et des coûts mensuels estimés pour calculer le nombre de commandes traitées par dollar dépensé :

  • Aurora: 6,817,435 XNUMX XNUMX commandes par dollar
  • MySQL: 11,052,459 XNUMX XNUMX commandes par dollar
  • MariaDB: 15,309,508 XNUMX XNUMX commandes par dollar

Sur la base de cet indicateur, MariaDB était la base de données la plus rentable, suivie de MySQL et enfin d'Aurora.

Conclusion : MariaDB comme le meilleur choix

Si l'objectif est de maximiser à la fois les performances et la rentabilité d'un système de base de données transactionnelle hautes performances, MariaDB semble être le choix le plus avantageux. Il a surpassé MySQL et Aurora dans les deux aspects dans notre test.

Bien que MySQL reste une option solide pour ceux qui sont déjà bien intégrés dans cet écosystème, si la rentabilité est une préoccupation, il peut être prudent d'envisager de passer à MariaDB. Aurora, bien que bénéficiant d'un certain nombre de fonctionnalités avancées, ne semble pas justifier son prix plus élevé., du moins pour des charges de travail similaires à celles de notre test.

Dans un contexte commercial où chaque milliseconde et chaque centime a un impact significatif, notamment pour ceux qui se concentrent sur les performances web comme dans notre cas, il est essentiel de prendre des décisions éclairées. Nous espérons que cet article vous fournira les outils dont vous avez besoin pour ce faire.

Vous avez des doutes ? Vous ne savez pas par où commencer ? Contactez-nous !

Nous avons toutes les réponses à vos questions pour vous aider à faire le bon choix.

Discute avec nous

Discutez directement avec notre support avant-vente.

0256569681

Contactez-nous par téléphone pendant les heures de bureau 9h30 - 19h30

Contactez-nous en ligne

Ouvrez une demande directement dans l'espace contact.

INFORMATIONS

Managed Server Srl est un acteur italien leader dans la fourniture de solutions système GNU/Linux avancées orientées vers la haute performance. Avec un modèle d'abonnement peu coûteux et prévisible, nous garantissons que nos clients ont accès à des technologies avancées en matière d'hébergement, de serveurs dédiés et de services cloud. En plus de cela, nous proposons des conseils système sur les systèmes Linux et une maintenance spécialisée en SGBD, sécurité informatique, Cloud et bien plus encore. Nous nous distinguons par notre expertise dans l'hébergement de CMS Open Source de premier plan tels que WordPress, WooCommerce, Drupal, Prestashop, Joomla, OpenCart et Magento, soutenus par un service d'assistance et de conseil de haut niveau adapté aux administrations publiques, aux PME et à toutes tailles.

Red Hat, Inc. détient les droits de Red Hat®, RHEL®, RedHat Linux® et CentOS® ; AlmaLinux™ est une marque commerciale d'AlmaLinux OS Foundation ; Rocky Linux® est une marque déposée de la Rocky Linux Foundation ; SUSE® est une marque déposée de SUSE LLC ; Canonical Ltd. détient les droits sur Ubuntu® ; Software in the Public Interest, Inc. détient les droits sur Debian® ; Linus Torvalds détient les droits sur Linux® ; FreeBSD® est une marque déposée de The FreeBSD Foundation ; NetBSD® est une marque déposée de la Fondation NetBSD ; OpenBSD® est une marque déposée de Theo de Raadt. Oracle Corporation détient les droits sur Oracle®, MySQL® et MyRocks® ; Percona® est une marque déposée de Percona LLC ; MariaDB® est une marque déposée de MariaDB Corporation Ab ; REDIS® est une marque déposée de Redis Labs Ltd. F5 Networks, Inc. détient les droits sur NGINX® et NGINX Plus® ; Varnish® est une marque déposée de Varnish Software AB. Adobe Inc. détient les droits sur Magento® ; PrestaShop® est une marque déposée de PrestaShop SA ; OpenCart® est une marque déposée d'OpenCart Limited. Automattic Inc. détient les droits sur WordPress®, WooCommerce® et JetPack® ; Open Source Matters, Inc. détient les droits sur Joomla® ; Dries Buytaert détient les droits sur Drupal®. Amazon Web Services, Inc. détient les droits sur AWS® ; Google LLC détient les droits sur Google Cloud™ et Chrome™ ; Microsoft Corporation détient les droits sur Microsoft®, Azure® et Internet Explorer® ; La Fondation Mozilla détient les droits sur Firefox®. Apache® est une marque déposée de The Apache Software Foundation ; PHP® est une marque déposée du groupe PHP. CloudFlare® est une marque déposée de Cloudflare, Inc. ; NETSCOUT® est une marque déposée de NETSCOUT Systems Inc. ; ElasticSearch®, LogStash® et Kibana® sont des marques déposées d'Elastic NV. Hetzner Online GmbH détient les droits sur Hetzner® ; OVHcloud est une marque déposée d'OVH Groupe SAS ; cPanel®, LLC détient les droits sur cPanel® ; Plesk® est une marque déposée de Plesk International GmbH ; Facebook, Inc. détient les droits sur Facebook®. Ce site n'est affilié, sponsorisé ou autrement associé à aucune des entités mentionnées ci-dessus et ne représente en aucune manière aucune de ces entités. Tous les droits sur les marques et noms de produits mentionnés sont la propriété de leurs titulaires respectifs des droits d'auteur. Toutes les autres marques mentionnées appartiennent à leurs titulaires. MANAGED SERVER® est une marque déposée au niveau européen par MANAGED SERVER SRL, Via Enzo Ferrari, 9, 62012 Civitanova Marche (MC), Italie.

Retour en haut de page