Comparaison du prix et des performances d’Aurora et des bases de données MySQL, RDS et SQL Server

By Staff Contributor on novembre 19, 2020

Les développeurs de logiciels peuvent utiliser un système de gestion de base de données relationnelle (SGBDR) pour créer, lire, mettre à jour et supprimer des données back-end, mais aussi utiliser et modifier ces systèmes avec des instructions SQL personnalisées. Toutefois, il existe de nombreux SGBDR. Puisque chacun d’entre eux est adapté à des cas d’utilisation spécifiques, leurs fonctionnalités, leurs performances et leur prix diffèrent.

Quel que soit le SGBDR que vous choisissez, il est essentiel de surveiller ses performances pour vous assurer qu’il est fonctionnel, fiable et disponible. Dans ce guide, je vais présenter quatre types de SGBDR parmi les plus courants, ainsi que les solutions de surveillance adaptées : Amazon RDS, Amazon Aurora, MySQL et SQL Server. Après chaque présentation, je comparerai leurs performances et leur prix.

Afin de vous aider à choisir la base de données relationnelle la plus adaptée à vos besoins, je vais également présenter le logiciel SolarWinds® Database Performance Analyzer, conçu pour surveiller les performances de vos bases de données.

Types courants de bases de données relationnelles

amazon-RDS-supports-relational-databases

  • Amazon RDS : Amazon RDS est un service géré de base de données relationnelle qui simplifie les tâches de gestion parfois fastidieuses. Il est convivial et offre davantage de flexibilité que si vous gériez vous-même vos serveurs. Par exemple, au lieu de regrouper le processeur, la mémoire, le stockage et le débit comme c’est le cas avec un serveur typique, Amazon RDS vous permet de mettre à l’échelle indépendamment chacune de ces fonctionnalités en les allouant selon les besoins. Il intègre également des outils permettant de créer des sauvegardes, d’appliquer des correctifs aux logiciels et de configurer la détection de pannes et la récupération automatiques.
  • Amazon Aurora : Le composant de base essentiel d’Amazon RDS est appelé « instance de base de données ». Une instance de base de données est un environnement de base de données dans le Cloud qui peut contenir plusieurs bases de données. Chaque instance de base de données exécute un moteur de base de données, et Amazon RDS vous permet de choisir un moteur de base de données, notamment Aurora.
    Vous pouvez accéder à RDS et Aurora via Amazon Web Services (AWS), mais ils sont destinés à des utilisations légèrement différentes. La base de données AWS Aurora est un moteur personnalisé pour Amazon RDS qui est optimisé pour fonctionner dans le Cloud.
    Compatible avec MySQL et PostgreSQL, Aurora allie la disponibilité et les performances des moteurs de bases de données traditionnels avec le rapport coût-efficacité et la simplicité d’utilisation des logiciels open source. Vous pouvez utiliser RDS avec divers moteurs, alors qu’Aurora est un moteur spécifique développé pour être utilisé avec RDS.
  • MySQL : MySQL est un SGBDR très répandu. Il se présente sous deux formes : la version open source (MySQL Community Server) et la version propriétaire (MySQL Enterprise Edition) d’Oracle. Tout le monde peut télécharger le logiciel open source MySQL et l’utiliser gratuitement. Il est tout à fait adapté pour accéder aux bases de données en ligne et a été développé pour prendre en charge les bases de données volumineuses bien plus rapidement que d’autres solutions développées en même temps. Il est le plus souvent utilisé pour les applications Web et la publication en ligne.
  • SQL Server : SQL Server est un SGBDR développé par Microsoft. Pendant longtemps, il n’a été disponible que pour Windows, mais il l’est désormais pour Linux. Selon vos besoins et votre budget, vous pouvez choisir une des éditions de SQL Server, notamment Entreprise, Standard et Développeur.

 

 

Haut de page

Comparaison des performances et des fonctionnalités

Amazon Aurora comparé à RDS

Amazon RDS présente l’avantage d’avoir des paramètres préconfigurés, des fonctions d’application automatique de correctifs et des outils robustes de surveillance et de génération d’indicateurs.

En tant que moteur personnalisé pour être utilisé avec RDS, Amazon Aurora est plus rapide et moderne grâce à ses fonctionnalités supplémentaires. Aurora propose un débit élevé, une mise à l’échelle automatique du stockage et un système de stockage doté de fonctions d’auto-dépannage et de tolérance de panne. Il permet la récupération des données à un instant donné, ainsi que des sauvegardes continues et la réplication de vos données sur trois zones de disponibilité pour les sécuriser.

Les performances d’Aurora et de RDS dépendent du moteur que vous utilisez avec RDS, car certains sont optimisés pour la disponibilité plutôt que la vitesse ou pour s’adapter au code existant.

Aurora comparé à MySQL et SQL Server

Aurora est conçu pour les serveurs Cloud, alors que MySQL s’exécute sur des machines physiques et risque de ne pas être optimisé pour fonctionner sur des machines virtuelles. Ainsi, les performances d’Amazon Aurora et MySQL seront variables selon les machines qui exécutent le système.

Amazon affirme qu’Aurora est cinq fois plus rapide que les bases de données MySQL standard et trois fois plus rapide que les bases de données PostgreSQL lorsqu’il est utilisé dans le Cloud. En comparant Amazon Aurora et SQL Server, nous obtenons les mêmes résultats, car SQL Server et MySQL sont conçus pour être utilisés sur site.

MySQL comparé à SQL Server

Avant 2016, MySQL et SQL Server se différenciaient par le nombre de plates-formes sur lesquelles ils pouvaient être utilisés : MySQL était disponible sur plusieurs plates-formes, alors que SQL Server ne pouvait être utilisé qu’avec Windows. SQL Server est désormais également disponible sur Linux. Puisque, de par leur conception, ces SGBDR sont compatibles avec plusieurs plates-formes, ils sont polyvalents et flexibles, alors qu’Amazon Aurora ne peut être utilisé qu’avec RDS. Ainsi, les développeurs de SQL Server et MySQL privilégient parfois la compatibilité au détriment des performances.

MySQL est open source, ce qui signifie que vous pouvez modifier le code source selon vos besoins. De plus, MySQL est utilisé depuis très longtemps et bénéficie d’un vaste support, notamment de nombreuses ressources pour les développeurs.

MySQL prend en charge plusieurs moteurs de stockage, dont InnoDB, CSV et NDB. Si vous utilisez le moteur InnoDB avec MySQL, il ne sera pas aussi rapide que d’autres moteurs, car InnoDB privilégie la disponibilité au détriment de la vitesse. MySQL est rédigé en langage C et C++ et peut être utilisé avec Windows, Mac, Unix et Linux. Pour des raisons de sécurité, MySQL utilise un système de privilèges d’accès et de mots de passe chiffrés pour permettre la vérification des accès dans un système hébergé par un hôte.

Contrairement à MySQL, SQL Server ne propose qu’un moteur de stockage et il est donc un peu moins flexible.

MySQL et SQL Server se différencient par les langages qu’ils prennent en charge. Alors que tous deux prennent en charge C++, Delphi, Go, Java, PHP, Python, R, Ruby et Visual Basic, MySQL prend également en charge Eiffel, Haskell, Perl, Scheme et Tcl. Le fait que MySQL prenne en charge davantage de langages de programmation contribue à sa popularité.

Les deux systèmes se différencient également en termes de capacité de filtrage. MySQL exige le filtrage des utilisateurs, des tables ou des lignes par base de données, ce qui oblige les développeurs à exécuter souvent plusieurs requêtes. Avec SQL Server, vous pouvez appliquer un filtrage sur les lignes et ainsi filtrer plusieurs lignes sans tenir compte du nombre de bases de données.

Enfin, SQL Server inclut l’analytique des performances des données, ainsi que des outils de génération de rapports, comme SQL Server Reporting Services que vous pouvez télécharger gratuitement. MySQL propose des outils semblables, tels que Crystal Reports et Actuate BIRT. Vous pouvez également utiliser des outils tiers pour surveiller les performances, comme nous allons l’expliquer plus loin.

Haut de page

Comparaison des prix des bases de données relationnelles

Amazon RDS

Le prix des diverses instances proposées par RDS dépend des fonctions dont vous avez besoin, de votre région, de la destination des données transférées et de la version ou de l’édition de l’instance que vous utilisez. La tarification d’Aurora indiquée ci-dessous correspond à la structure de tarification de tous les autres moteurs RDS.

Amazon Aurora

Amazon Aurora est un service facturé en fonction de l’utilisation, sans frais initiaux. Il propose deux structures de tarification selon que vous utilisez l’édition compatible avec MySQL ou avec PostgreSQL. Pour les deux éditions, deux types d’instances sont disponibles : instances standard et instances optimisées en matière de mémoire.

Le stockage utilisé par votre base de données est facturé par Go sur une base mensuelle. Les E/S sont également facturées sur une base mensuelle par incréments d’un million de requêtes. Si vous utilisez la base de données globale Amazon Aurora, le coût s’élève à environ 0,2 $ par million d’E/S d’écriture répliquées. Cette fonctionnalité inclut des opérations de lecture avec une latence faible dans le monde entier et une reprise après sinistre. Avec la base de données globale Amazon Aurora, les instances, le stockage, le transfert de données, les sauvegardes et les fonctions de retour sur trace sont facturés aux tarifs standard et les frais de sauvegarde sont facturés mensuellement par Go. Les tarifs applicables à Aurora varient selon votre emplacement géographique.

La version d’Aurora compatible avec MySQL permet aux utilisateurs d’être facturés séparément pour la fonction de retour sur trace. Elle permet de restaurer rapidement une version précédente de la base de données Aurora sans devoir utiliser de sauvegarde. La fonction de retour sur trace est facturée sur la base d’un million d’enregistrements de modification.

Tous les transferts de données à destination de la base de données Aurora sont gratuits. Le coût des transferts vers Internet en provenance de la base de données Aurora dépend du volume du transfert, et le coût des transferts en provenance d’Aurora vers d’autres régions ou Amazon CloudFront varie selon les régions de destination du transfert.

 

La tarification d’Aurora par rapport à RDS dépend également du moteur utilisé pour RDS, de votre région, des fonctionnalités choisies et du mode de transfert des données lorsque vous utilisez vos bases de données. Aurora est habituellement un peu plus cher que les autres moteurs de bases de données RDS.

MySQL

La version open source de MySQL est entièrement gratuite. En payant pour utiliser la version Enterprise, vous bénéficiez d’un support et de fonctionnalités supplémentaires dans le cadre d’un abonnement, à savoir 60 000 $ pour un abonnement de trois ans comprenant le support, ou 5 000 $ par an, par serveur.

SQL Server

SQL Server propose plusieurs éditions. On compte notamment l’édition Entreprise qui garantit des performances essentielles pour les besoins des bases de données particulièrement exigeantes, ainsi que des fonctions d’aide à la décision et d’analyse. Elle est cédée sous licence (par cœur) pour un prix Open, No Level de 14 256 $. L’édition Standard est proposée au prix bien inférieur de 3 717 $ et elle est plus adaptée aux charges de travail non critiques en termes de gestion des données et d’aide à la décision. La version Développeur de SQL Server est gratuite.

Quelle est la base de données relationnelle la plus performante ?

Chacune de ces bases de données présente des avantages et des inconvénients. Quelle que soit celle que vous choisissez, ses performances dépendront de la plate-forme sur laquelle vous l’exécutez et du moteur utilisé. Par exemple, on ne peut pas vraiment comparer le moteur InnoDB pour MySQL (conçu pour sa disponibilité) à Aurora pour RDS (conçu pour sa vitesse).

Dans tous les cas, vous devez surveiller et analyser les performances en termes de vitesse et de disponibilité. Je vous recommande donc d’utiliser un outil pour surveiller les bases de données relationnelles mentionnées dans ce document, car cela facilite le dépannage et la gestion transparente d’un environnement de bases de données.

Comment surveiller les performances des bases de données relationnelles

Pour garantir la fiabilité et les performances de votre système de gestion de base de données, vous devez le surveiller. Vous devez collecter régulièrement des données à partir de votre solution de base de données pour pouvoir résoudre les problèmes lorsqu’ils surviennent. Il est également essentiel que vous mettiez en place un plan de surveillance ciblé pour garantir les performances attendues de vos SGBDR.

Identifiez judicieusement les ressources que vous souhaitez surveiller, le niveau de détail souhaité et la fréquence de vérification du système.

Dans le cadre de votre plan de surveillance, vérifiez que vous avez préparé un canal de remontée facilement identifiable pour que vos collègues de bureau et vos clients sachent à qui s’adresser en cas de problème. En outre, veillez à configurer les alertes appropriées pour que les personnes responsables soient notifiées en cas de problèmes.

SolarWinds Database Performance Monitor

Pour maintenir l’intégrité d’une base de données, vous devez utiliser un outil de surveillance performant. Si vous surveillez plusieurs bases de données, recherchez un outil de surveillance capable d’établir des rapports sur chacune d’elles pour ne pas avoir à passer d’un programme à un autre pour obtenir une vue d’ensemble des performances.

DPM

SolarWinds Database Performance Monitor (DPM) est une solution Cloud de surveillance de l’intégrité des bases de données. Elle est conçue pour surveiller l’intégrité d’une base de données en vérifiant des facteurs tels que la latence, le taux d’erreurs, l’utilisation du processeur, le débit du réseau et des disques, etc. Elle vous permet également de comparer des bases de données avant et après l’application de changements, pour que vous en compreniez les effets.

Si vous souhaitez utiliser DPM ou découvrir toutes ses fonctionnalités, demandez une démo ici.

SolarWinds Database Performance Analyzer

Si vous souhaitez utiliser un analyseur de haute qualité des performances des bases de données avec RDS, Aurora, MySQL et SQL Server, je recommande SolarWinds Database Performance Analyzer (DPA).

dpa-intuitive-performance-monitor

DPA est conçu pour la surveillance, l’analyse et le réglage des performances, et pour vous communiquer une vue d’ensemble claire des performances et faciliter ainsi le dépannage. Il fonctionne également avec des données historiques pour vous permettre d’anticiper les performances et d’évaluer le comportement général de votre système. Il utilise des processus d’apprentissage automatique pour détecter les anomalies et vous signaler tout problème de performance de la base de données ou menaçant la sécurité, dès qu’un comportement anormal est détecté. DPA vous permet d’analyser vos instances RDS, Aurora, MySQL et SQL Server et de comparer les indicateurs de performance.

Une fois votre analyseur configuré, testez chaque base de données dans des conditions où les performances devraient être normales, à des heures différentes et en les soumettant à des charges variables. Envisagez le stockage des données de surveillance historiques pendant une durée déterminée pour bénéficier d’un instantané fiable des performances d’une base de données avant de la comparer à d’autres.

Si vous souhaitez utiliser DPA ou découvrir toutes ses fonctionnalités, demandez une démo ici.

SolarWinds DPM comparé à DPA

Database Performance Monitor et Database Performance Analyzer ont presque le même nom, mais ces deux solutions présentent des différences clés. Database Performance Monitor est une solution open source de surveillance des performances des bases de données sur site et dans le Cloud qui vous permet d’examiner en détails les performances. Les fonctionnalités de DPM, comme la détection adaptative des défaillances, indiquent quand et à quel niveau un système est défaillant, avec une granularité à la seconde près. DPM vous indique également, dans un format facile à comprendre, où cibler vos recherches pour identifier la cause première d’un problème, afin de permettre à vos équipes d’apporter les modifications nécessaires pour éviter d’éventuels futurs problèmes.

Par ailleurs, Database Performance Analyzer peut collecter des données et vous aide à mieux comprendre les tendances et les détails. SolarWinds DPA propose un support multiplate-forme pour les bases de données sur site et dans le Cloud. DPA assure également la détection des anomalies, optimisée par l’apprentissage automatique qui ne cesse de s’améliorer au fil du temps, pour vous aider à identifier plus facilement les goulots d’étranglement qui ralentissent vos applications.

SolarWinds DPM et DPA sont également compatibles avec différentes plates-formes de bases de données. Alors, que choisir ? DPA ou DPM ? Tout dépend de votre activité. Pour identifier les besoins de votre entreprise, découvrez les versions d’essai gratuites proposées par ces outils bien connus spécialisés dans les performances des bases de données.

Related Posts