L’essentiel sur Redis

LeMagIT fait le point sur les principales bases de données du marché. Aujourd’hui, la base clef-valeur open-source, Redis.

Redis est un SGBD open source léger et flexible de type clé-valeur, dont le nom est la contraction de REmote DIctionary Server.

Il est souvent utilisé pour les applications nécessitant une haute disponibilité et une faible latence, comme dans les domaines du jeu, du commerce de détail et de la mobilité. La flexibilité du schéma des bases de données clé-valeur telles que Redis les rend parfaitement adaptées à la gestion de sessions, à la desserte de contenus publicitaires et à la gestion de profils utilisateur ou produit.

Une base de données clé-valeur convient parfaitement aux situations où l'accès aux données se fait au moyen d'une clé, comme dans le cas de la recherche d'informations sur un produit d'après un numéro de produit. Les informations recherchées peuvent être de tout type, et peuvent même varier d'un produit à l'autre.

Fonctionnalités des SGBD Redis open source

La version 3.0, publiée le 1er avril, prend en charge Redis Cluster et inclut plusieurs améliorations de la performance et corrections mineures. Redis 3.0 n'apporte pas d'amélioration fonctionnelle majeure, mais propose néanmoins un nouveau format de journal, la journalisation des appels CONFIG REWRITE, une meilleure précision de l'algorithme LRU (least recently used) et une nouvelle commande BitPOS pour traiter les bitmaps.

La version précédente, Redis 2.8, permettait la resynchronisation partielle de la réplication et la prise en charge d'IPv6, ainsi que la liaison d'adresses IP, l'émission de commandes CONFIG REWRITE et les notifications de changement d'espace de clés via le mécanisme de messagerie par publication/abonnement.

Un simple fichier de configuration permet de paramétrer Redis. Il est ainsi possible de spécifier le répertoire de travail et de contrôler le comportement, notamment la fréquence de sauvegarde des données, les limites et la réplication. Redis utilise sa propre bibliothèque d'événements.

Il existe cependant plusieurs bibliothèques et outils de niveau supérieur, dont redis-mount (pour utiliser Redis comme système de fichier) et Redis Desktop Manager (outil inter-plate-forme de gestion d'interface utilisateur graphique de poste de travail). En outre, Redis prend en charge de nombreux langages, tels que C, C#, C++, Erlang, Haskell, Java, Perl, PHP, Python et Ruby.

Bien qu'étant un magasin de données clé-valeur, le SGBD Redis open source prend en charge différentes structures de données. Les magasins de données clé-valeur traditionnels permettent d'associer des chaînes clé à des chaînes valeur. Or, dans Redis, la valeur n'est pas limitée à une simple chaîne mais peut se composer de structures de données plus complexes.

Redis prend en charge les structures de données suivantes :

  • Chaînes « binary-safe » (n'altérant pas le fichier binaire).
  • Listes ou collections d'éléments de chaînes triés par ordre d'insertion.
  • Ensembles ou collections d'éléments de chaînes uniques, non triés.
  • Ensembles triés, identiques aux précédents, mais dans lesquels chaque élément de chaîne est associé à une valeur de nombre flottant appelée score. Les éléments sont triés par score, ce qui permet de les récupérer par ensemble.
  • Tables de hachage, qui sont des cartes de champs associés à des valeurs. Le champ et la valeur sont des chaînes.
  • Données en tableau (Bit arrays ou bitmaps), qui utilisent des commandes spécifiques pour gérer les valeurs de type chaîne comme un tableau de bits. Vous pouvez définir et supprimer individuellement des bits, compter les bits définis sur 1 ou chercher le premier bit défini ou non défini.
  • HyperLogLogs, structure de données qui peut estimer le nombre d'éléments (la cardinalité) d'un ensemble (c'est-à-dire, compter des éléments uniques).

Redis s'exécute sur Linux. Le projet Redis ne prend pas directement en charge Windows, mais Microsoft Open Technologies développe et gère un port Windows qui cible Win64.

Le SGBD open source Redis est disponible sous forme de licence BSD. La communauté Redis propose une assistance technique via la liste de diffusion officielle et le mot-clé #redis sur Freenode. Une assistance commerciale est proposée par l'intermédiaire de Pivotal, sponsor officiel de Redis. Pivotal offre deux niveaux d'assistance professionnelle :

  1. Une assistance aux développeurs, fournie par ses services d'assistance internationaux sur les stations de travail OS X et Linux, avec un tarif par développeur.
  2. Une assistance de production, proposée pour les serveurs Linux et incluant des accords de niveau de service. Le tarif est défini par UC.

Bien qu'il n'existe pas de test d'évaluation des performances spécifique, Redis propose des exemples d'implémentation et des indicateurs.

Pour approfondir sur Base de données

- ANNONCES GOOGLE

Close