Redis: Una alternativa rápida a Memcached

posted by dgeneral
20 Marzo 2009

Últimamente en los sistemas con grandes demandas de escalabilidad y disponibilidad el must y/o último gran boom son sin duda los sistemas en la nube basados en memoria.

En este caso vamos a hablar de Redis, que es una base de datos basada en clave/valor al estilo memcached, pero en la que sus datos son también guardados en disco, pudiendo usarla como reemplazo para MySQL y similares.

Está escrita en C y una de sus principales peculiaridades es su increíble velocidad, que en algunas pruebas le han llevado a marcar cifras como 110,000 operaciones SET  y  81,000 GETs por segundo en un ordenador básico con Linux. De ahí que es conocido por muchos desarrolladores como el Ferrari o el Lamborghini de las bases de datos.

Sus puntos más fuertes son: open source; persistencia asíncrona manteniendo todo en memoria, soporte para estructuras de alto nivel (es psoible almacenar arrays o conjuntos directamente) y operaciones atómicas.

Una aplicación de prueba llamada Retwis muestra como usar Redis para preparar un clon escalable de Twitter al menos en la parte de envío de mensajes. Hay bastante buena información a bajo nivel sobre como Redis es usado en una aplicación real.

El proyecto podeis encontrarlo alojado en Google Code y soporta los siguientes lenguajes:Ruby, Python, PHP y Erlang.

En nuestro caso estamos bastante más acostumbrados al uso de Memcached (sistema de caché de objetos distribuidos en memoria) pero creemos que la posibilidad de usar Redis como soporte persistente hace que existan una cierta gama de implantaciones donde su uso sea idóneo.

Qué os parece a vosotros ? Puede cuadraros en algún desarrollo un sistema como Redis ?

  • Facebook
  • Google Reader
  • Delicious
  • Meneame
  • Blogger Post
  • WordPress
  • Technorati Favorites
  • LinkedIn
  • Digg
  • Evernote
  • FriendFeed
  • Slashdot
  • Windows Live Spaces
  • Share/Bookmark