Streams et RedisGraph : Redis Labs s’ouvre les portes de cas d’usage au-delà du caching
La société commerciale derrière Redis présente une structure de données dédiée à la gestion des flux de données et un module externe qui transforme la base en une solution centrée sur les graphes.
Redis Labs, l’entité commerciale derrière la base de données open source Redis, soigne elle-aussi sa multi-modalité. La société a décidé d’ajouter deux options au cœur de Redis, bien connue pour ses performances : une structure de données pour supporter les spécificités des flux de données (Streams) ainsi qu’un nouveau module externe dont la vocation est de transformer Redis en une base de graphes (RedisGraph). La base suit les tendances de l’IT moderne.
La base de données open source Redis correspond en fait à une base de structure de données, comme l’indique Georges Carbonnel, en charge des ventes pour l’Europe du Sud chez Redis Labs. Initialement connue pour son approche clé/valeur en mémoire, la base est également capable de stocker plusieurs types de structures de données nativement, pour garantir ainsi des niveaux de performances élevés. La performance, c’est justement ce qui caractérise Redis, soutient le responsable, qui y associe également une dimension « zéro latence », propre à l’IT moderne. Le principal cas d’usage de Redis est souvent présenté comme étant le caching.
La dimension multi-modale des bases de données est aujourd’hui au cœur des discours de nombreux fournisseurs. Cette approche permet, avec un unique socle technologique, d’appliquer des traitements et des classifications différentes, sur les données en fonction des cas d’usage, qu’ils soient transactionnels, analytiques ou encore favorisant les relations entre données avec les graphes.
Flux et graphes
Avec Streams, c’est ce que va notamment rechercher Redis Labs. Née dans la communauté open source de Redis, cette structure de données a été injectée au cœur de Redis dans sa version 5.0 et est désormais supportée avec Redis Enterprise de Redis Labs. Les données supportées par Redis peuvent être par exemple structurées sous la forme de chaîne de caractères, de listes, de sets, d’hyperloglog (algorithme probabiliste de dénombrement), d’index géospatiaux et donc de flux de données avec Streams.
Avec ce dernier, Redis peaufine son support des flux de données et du temps réel, prend en charge les données temporelles, la gestion des files d’attente de message et de leur répartition et le partioning. Les capacités dites de Pub/Sub, qui consistent à exposer des flux de données et permettre de s’y abonner, ont également été améliorées, explique le responsable. Bref, de quoi positionner Redis un peu plus en frontal à Kafka par exemple et aux bases dites times series, où la gestion des événements est une nécessité.
De son côté, RedisGraph n’est pas une nouvelle structure de données, mais un module externe que l’on peut charger dans Redis pour y greffer le support des graphes et appliquer ce mode de traitement à certains types de données. Ce module était déjà présent chez Redis, au côté de Redis Search, ReJSON et Redis-ML par exemple. Ces modules ont même récemment subi un ajustement de leur modèle de licence pour s’assurer que les grands fournisseurs de cloud ne viennent pas les monétiser, intacts, sans reverser une ligne de code à la communauté.
Mais désormais RedisGraph est officiellement et pour la première fois supporté, validé et certifié par Redis Labs. « Ce module transforme Redis en une base de données graphe », commente Georges Carbonnel. S’adossant à la bibliothèque GraphBLAS soutenue par le GraphBLAS Forum, cet algorithme s’appuie sur un système d’algèbre linéaire dont la vocation est justement de ne pas perdre les performances propres à Redis, ajoute le responsable. Selon lui, il existerait une demande chez les grands comptes – y compris français.
Surtout, avec Streams et RedisGraph, Redis Labs cherche à s’ouvrir à des nouveaux cas d’usages, à de nouveaux clients et prospects, ajoute-t-il. En France, les secteurs de la finance, de la grande distribution, du e-commerce, de la technologie, déjà clients de RedisLabs pourraient bien être intéressés de capitaliser sur leur socle Redis en place et d’y appliquer de nouveaux usages avec Streams ou les graphes. « On est connu pour le caching, mais il existe de plus en plus d’autres cas d’utilisation », lance-t-il. « On entre par cette porte et d’autres projets émergent. »