La base de données la plus populaire sur AWS est Redis. MySQL et Redis représentent 51 % de l'adoption des bases de données dans AWS,
selon un rapport de Sumo Logic

Le podium dans le classement des bases de données proposé par DB-Engines a le même aspect depuis des années : les trois premières places prennent de la distance avec la concurrence et sont occupées par Oracle, MySQL et Microsoft SQL Server. Viennent ensuite PostgreSQL, MongoDB et IBM DB2. La base de données en mémoire open source NoSQL Redis occupe la 7e place.

Le top 10 est complété par Elasticsearch, SQLite et Cassandra. C'est ce que montre le classement DB-Engines du consultant informatique Solid IT, mis à jour mensuellement. L'entreprise obtient les données pour la liste de classement à partir de mentions sur les sites Web et les médias sociaux, les offres d'emploi, les discussions techniques et les mentions de la base de données dans les profils LinkedIn des professionnels de l'informatique.

Nom : DB.png
Affichages : 24393
Taille : 33,3 Ko

Notons que si l’on applique le filtre « Key-value Stores », alors Redis passe en tête.

Nom : cle.png
Affichages : 975
Taille : 28,0 Ko

Dans le monde d'AWS, l'équilibre des pouvoirs est différent : ici Redis a l'avantage. La base de données, publiée en 2009, détient une part de marché de 28 %. C'est le résultat d'une étude de Sumo Logic. Le fournisseur de logiciels d'analyse a examiné de près environ 2100 entreprises que Sumo Logic compte parmi ses clients.

En deuxième place dans AWS, MySQL avec 23 % de part de marché, suivi de PostgreSQL avec 20 %. Les solutions SQL de Microsoft et d'Oracle n'ont atteint que la sixième place avec 10 % chacune. Ils sont derrière DynamoDB et MongoDB, qui détiennent tous deux 15 % de part de marché.

Les auteurs du rapport indiquent : « Les entreprises ont de nombreux choix pour les bases de données : open source, commerciales, relationnelles, NoSQL, en mémoire, sur disque, etc. Redis est la base de données numéro 1 d'AWS. MySQL et Redis représentent 51 % de l'adoption des bases de données dans AWS. PostgreSQL est la deuxième base de données relationnelle et réduit l'écart avec MySQL. (Notez que MySQL est disponible sous plusieurs formes dans AWS en tant que source native ou RDS). De plus, Dynamo DB et MongoDB sont au coude à coude dans le taux d'adoption, tandis que l'utilisation de Microsoft SQL et Oracle DB est à la traîne. »

Nom : database.png
Affichages : 995
Taille : 44,1 Ko

L'avance triomphante de Redis est liée au paysage informatique de plus en plus complexe des entreprises, selon des analystes. Le nombre moyen de services AWS utilisés seuls est passé de 15 à 26 entre 2019 et 2020, selon une analyse de Sumo Logic.

En savoir plus sur Redis

Redis (l’acronyme de REmote DIctionary Server qui peut être traduit par « serveur de dictionnaire distant ») est un magasin de structure de données clé/valeur en mémoire open source rapide. Redis propose un ensemble de structures de données en mémoire polyvalentes qui vous permet de créer facilement un large éventail d'applications personnalisées. Les principaux cas d'utilisation de Redis comprennent la mise en cache, la gestion des sessions, la fonctionnalité pub/sub et les classements. Il est distribué sous licence BSD, écrit en code C optimisé et prend en charge plusieurs langages de développement.

Sa vitesse et sa facilité d'utilisation en font une solution de choix pour toutes les applications (web, mobiles, jeux, technologies publicitaires et Internet des objets) qui nécessitent les meilleures performances. AWS assure la prise en charge de Redis via un service de base de données entièrement géré et optimisé nommé Amazon ElastiCache for Redis, et permet également aux clients d'exécuter un système Redis autogéré sur AWS EC2.

Ses avantages :
  • Des performances ultrarapides : toutes les données Redis résident dans la mémoire principale de leur serveur, contrairement à la plupart des systèmes de gestion de base de données qui stockent les données sur un disque ou sur des disques SSD. En éliminant le besoin d'accéder à des disques, les bases de données en mémoire telles que Redis évitent les délais de recherche et peuvent accéder aux données à l'aide d'algorithmes plus simples qui utilisent moins d'instructions de CPU. L'exécution des opérations classiques prend moins d'une milliseconde.
  • Structures de données en mémoire : Redis permet aux utilisateurs de stocker des clés qui sont mappées à différents types de données. Le type de données fondamental est une chaîne, qui peut être composée de texte ou de données binaires d'une taille maximale de 512 Mo. Redis prend également en charge les listes de chaînes dans l'ordre dans lequel elles ont été ajoutées ; les ensembles de chaînes non triés ; les ensembles triés classés selon un score ; les hachages qui stockent une liste de champs et de valeurs ; et les hyperloglogs pour compter les éléments uniques d'un ensemble de données. Presque tous les types de données peuvent être enregistrés en mémoire à l'aide de Redis.
  • Polyvalence et facilité d'utilisation : Redis propose un certain nombre d'outils qui accélèrent et simplifient le développement et les opérations, notamment la fonctionnalité Pub/Sub qui permet de publier des messages sur des canaux, qui sont diffusés à des abonnés (idéal pour les systèmes de discussion et de messagerie) ; les clés TTL qui peuvent avoir une durée de vie déterminée, après quoi elles se suppriment elles-mêmes (utile pour éviter que la base de données soit remplie de données superflues) ; les compteurs atomiques qui s'assurent que les conditions de concurrence ne créent pas de résultats incohérents ; et Lua, un langage de script puissant, mais léger.
  • Réplication et persistance : Redis emploie une architecture maître-esclave et prend en charge la réplication asynchrone qui permet de répliquer les données sur plusieurs serveurs esclaves. Cela peut offrir de meilleures performances de lecture (car les requêtes peuvent être réparties entre les serveurs) et une meilleure récupération lorsque le serveur primaire subit une panne. Pour assurer la durabilité, Redis prend en charge les instantanés ponctuels (copie de l'ensemble de données Redis sur le disque) et la création d'un fichierAppend Only File (AOF) pour stocker sur le disque chaque changement de données à mesure qu'il est écrit. Chaque méthode permet une restauration rapide des données Redis en cas de panne.
  • Prise en charge de votre langage de développement préféré : Plus d'une centaine de clients open source sont mis à la disposition des développeurs Redis. Les langages pris en charge comprennent Java, Python, PHP, C, C++, C#, JavaScript, Node.js, Ruby, R, Go, etc.

Caractéristiques d'Amazon ElastiCache pour Redis

Amazon ElastiCache pour Redis est un service de structures de données en mémoire compatible avec Redis qui peut être utilisé comme magasin ou cache de données. Il offre la puissance et la facilité d'utilisation de Redis, ainsi que des niveaux de disponibilité, de fiabilité, d'évolutivité, de sécurité et de performances adaptés aux applications les plus exigeantes. Le service est entièrement géré, évolutif et sécurisé, ce qui en fait la solution idéale pour soutenir des cas d'utilisation hautes performances comme le web, les applications mobiles, les services financiers, les jeux, les technologies publicitaires et l'IdO (Internet des Objets). Vous n'avez plus besoin de réaliser des tâches spécialisées chronophages telles que le dimensionnement, l'application de correctifs, la sauvegarde, la récupération, la détection de pannes et la réparation. Initialement, le service n'implique aucuns frais ni engagement à long terme. Vous payez simplement des frais mensuels pour chaque nœud Redis que vous utilisez.

Le service est conçu pour détecter automatiquement les défaillances de nœuds ou les incidents de moteur et assurer la récupération. En utilisant le déploiement multi-AZ avec le basculement automatique, vous avez la possibilité de diffuser les nœuds de réplicas sur plusieurs zones de disponibilité AWS pour offrir une haute disponibilité. Si un nœud principal est défaillant, vous serez basculé automatiquement vers l'un des 5 réplicas en lecture.

En quelques clics dans l'AWS Management Console, vous pouvez rapidement lancer un cluster de cache ou un groupe de réplication et le configurer en fonction de vos besoins. AWS vous propose différentes tailles de nœuds, ainsi qu'un dimensionnement vertical en quelques clics. Vous pouvez démarrer avec 555 Mo de RAM et atteindre 635,61 Go de RAM. De plus, pour le mode de cluster Redis activé, AWS prend en charge le redimensionnement de cluster en ligne pour augmenter ou diminuer votre cluster Redis sans temps d'arrêt et en fonction des fluctuations de la demande.

Tout savoir sur Redis Enterprise
Tout savoir sur Redis Microservices
Découvrir Redis Labs

Source : Sumo Logic