Stockage distribué : Project Voldemort

voldemortLa gestion d’un nombre de requête important nécessite toujours la mise en place de système de cache. En général il s’agit de système permettant de stocker une valeur pour un ID donné.

Dans cette gamme de logiciel je vous ai déjà présenté memcached, ou les solutions de montée en charge de Danga, aujourd’hui je vous propose de regarder le projet Voldemort.

Ce nouveau système est en fait une implémentation libre du système Dynamo d’Amazon (Dynamo est également expliqué ici):

Voldemort est donc un logiciel open source capable de gérer sur de très grande échelle des associations clefs-valeurs, dont les principales sosp-figure1-smallcaractéristiques sont (Cf leur site):

  • Les données sont automatiquement répliquées sur plusieurs serveurs.
  • Les données sont automatiquement partitionnées de sorte que chaque serveur contient un sous-ensemble seulement de l’ensemble des données
  • La défaillance du serveur est transparente pour le système
  • Les données sont versionnées (cela permet de maximiser l’intégrité des valeurs dans les scénarios d’échec, sans compromettre la disponibilité du système).
  • Chaque nœud est indépendant des autres nœuds
  • Chaque nœud est extrêmement performant : vous pouvez vous attendre à 10-20k opérations par seconde ( a affiner selon les machines, le réseau, et le facteur de réplication).

Il est utilisé à LinkedIn pour certains calculs de haute volumétrie, où les solutions de stockage simples et de partitionnement fonctionnel ne suffissent plus


dynamo-distributed-storage-system

Attention Voldemort n’est pas une base de données relationnelle, ce système  ne cherche pas à satisfaire les relations, les opérations unitaires et les propriétés ACID. Cet outil reste un outil essentiellement destiné au cache de grandes volumétries intégrant un mécanisme de réplication et de tolérance aux pannes.

Sources :

Sur le même thème :

Leave a Reply