dimanche 2 novembre 2014

Un jour, un storage : Redis

     Une autre structure de stockage de données in memory dont on entend régulièrement parler : Redis.

     Je l'ai rencontré lors d'une conférence au Devoxx Paris 2014 suite à une présentation "Tools in action" de Nicolas Martignole "Redis, une base Not Only NoSQL" :

Redis c'est quoi


     Redis signifie "REmote DIctionary Server" avec un jeu de mot sur Redistribute (http://redis.io/topics/faq)

     Si l'on retient les classifications actuelles, on pourrait la qualifier de base NoSQL clé/valeur. C'est une base in memory qui communique en TCP. Elle est écrite en C ANSI et tourne sur la majeur partie des systèmes dit POSIX, Linux est recommandé (http://redis.io/topics/introduction) mais il existe un portage windows https://github.com/MSOpenTech/redis.

     Afin de pouvoir requêter cette base de nombreux de clients ont été développés dans différents langages (Java, C, C#, Go Perl, Haskell, Lua, ...).
     Les principaux clients Java :

     Redis, construit sur la base d'un manifeste, lettre d'intention sur ce qu'il doit être, a une approche qui colle aux structures de données manipulées. Pour preuve son API et la documentation qui donne le Time Complexity (en notation O) des différents points d'API :

     Quand aux utilisations possibles : cache dynamique, base in memory (persistence possible en dump ou journalisation), messaging. Attention à vos contraintes et au CAP théorème.

L'historique


     Redis a été créé par Salvatore Sanfilippo et Pieter Noordhuis en 2009 (voir http://redis.io/topics/license).

     Avant Mai 2013 le projet était sponsorisé par VMWare, il l'est maintenant par Pivotal.

     La version actuelle est la 2.8.17, une version 3.0.0 est en release candidate. L'historique des versions depuis 2009 est accessible via Google Code

Redis est utilisé par quelques grands noms du web :

Et la concurrence ... Redis est régulièrement comparé à memcached

Les URLS


Le Site : http://redis.io/
Sous GitHub : https://github.com/antirez/redis
Les download : http://redis.io/download
Benchmarks : http://redis.io/topics/benchmarks

Du côté des développeurs :

Participer aux développements


Pour contribuer à Redis : http://redis.io/community
La mailing : https://groups.google.com/forum/#!forum/redis-db

Pour finir quelques tutoriaux pour s'y essayer :

Aucun commentaire:

Enregistrer un commentaire