Redis, la célèbre base de données en mémoire vive utilisée par des millions de développeurs à travers le monde, a annoncé un changement majeur dans sa politique de licence. Historiquement distribué sous la licence BSD à trois clauses, une licence open-source permissive, Redis a décidé de s’éloigner de cette dernière pour adopter une approche de licence double. En vertu de la nouvelle licence, les fournisseurs de services en nuage hébergeant des offres Redis ne seront plus autorisés à utiliser gratuitement le code source de Redis. Par exemple, les fournisseurs de services en nuage ne pourront livrer Redis 7.4 qu'après avoir accepté des conditions de licence avec Redis, les responsables du code Redis.
Des distributeurs comme Fedora envisagent déjà de supprimer Redis en conséquence.
Redis (l’acronyme de REmote DIctionary Server qui peut être traduit par « serveur de dictionnaire distant ») est un magasin de structure de données clef/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 :
- 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 clefs 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 clefs 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.
Une nouvelle stratégie de licence qui a abouti à un accord commercial avec Microsoft
La nouvelle stratégie de licence de Redis utilise la Redis Source Available License version 2 (RSALv2) ou la Server Side Public License version 1 (SSPLv1), à partir de Redis v7.4 et pour toutes les futures versions. Ce changement est clairement destiné à empêcher les grands fournisseurs de cloud de proposer des alternatives gratuites aux services hébergés de Redis.
Malgré les rumeurs et les confusions qui ont circulé, la...
La fin de cet article est réservée aux abonnés. Soutenez le Club Developpez.com en prenant un abonnement pour que nous puissions continuer à vous proposer des publications.

