Search
Languages
<
8 min read

Au cœur de l’architecture d’un stockage objet véritablement évolutif

Comment la conception coopérative entre pairs élimine les goulets d’étranglement et fait évoluer les performances avec chaque nœud
Dc Swarm Insidearchitecturetrulyscalableobjectstorage Bp Heroimage

Si vous avez déjà travaillé avec un système de stockage évolutif traditionnel, vous avez probablement vu les fissures. Des goulets d’étranglement des performances autour des métadonnées, des nœuds de contrôleur rigides, des événements de rééquilibrage complexes, et plus vous essayez d’évoluer, plus votre architecture se défend. C’est une histoire familière : des systèmes qui promettent une échelle horizontale, mais qui se dégradent sous la pression.

Ce n’est pas le matériel qui est en cause, c’est un symptôme de la façon dont la plupart des architectures sont construites. Les modèles traditionnels ont tendance à centraliser la prise de décision. Les serveurs de métadonnées, les nœuds maîtres, la logique de quorum et les plans de contrôle statiques transforment l’échelle en un cauchemar de coordination. Plus de nœuds ne signifie pas plus de puissance, mais simplement plus de frais de gestion.
Et si l’ajout de nœuds rendait le système plus rapide et plus simple ? C’est le principe fondamental du stockage objet coopératif entre homologues, ainsi que la base de DataCore Swarm, une plateforme de software-defined storage.

Au-delà de la pensée centralisée

Swarm est construit sur une idée simple mais radicale :  supprimer la hiérarchie. Dans Swarm, il n’y a pas de nœuds de contrôleur, pas de services de métadonnées externes et pas de rôles fixes. Chaque nœud est égal – un véritable pair. Chacun stocke non seulement des données, mais aussi des métadonnées qui les décrivent.

Cela change tout.

Swarm gère des index de métadonnées, mais ils ne font pas autorité. Ils fonctionnent comme des caches distribués. Comme les métadonnées sont stockées directement avec chaque objet, le système peut toujours les reconstituer si nécessaire. Il n’existe pas de base de données de métadonnées distincte à gérer ou à mettre à l’échelle. Cette conception réduit la dépendance vis-à-vis des recherches centrales et autorise la transparence de l’emplacement : Le système n’a pas besoin de savoir à l’avance où se trouve un objet ; il peut le comprendre de manière dynamique.

Cette transparence s’étend naturellement à la façon dont les demandes sont traitées. N’importe quel nœud peut accepter une demande de lecture ou d’écriture. Si l’objet est local, il le fournit. Si ce n’est pas le cas, le nœud utilise une redirection HTTP interne pour atteindre la bonne. Les clients ne s’en rendent pas compte : la passerelle de contenu gère toutes les redirections en interne, ce qui permet de conserver des connexions actives et efficaces. Du point de vue du client, c’est transparent.

Ces comportements basés sur les pairs éliminent le besoin de composants d’infrastructure traditionnels. Aucun équilibreur de charge n’est nécessaire. Pas de verrouillage global. Pas de démon de routage. Juste un accès rapide et déterministe.

L’une des fonctionnalités invisibles les plus élégantes est l’algorithme d’enchères breveté de Swarm, qui garantit que tous les nœuds de stockage participent activement au traitement des demandes. Lorsqu’un client émet une lecture ou une écriture, n’importe quel nœud peut répondre, mais le système calcule quel nœud est le mieux positionné (en termes de charge, de localité et de disponibilité) pour le remplir le plus efficacement. Ce mécanisme évite les points chauds et garantit une meilleure utilisation du cache tout en automatisant et en adaptant l’équilibrage de charge sans nécessiter d’orchestrateur externe.

Object Storage Cluster Architecture

Distribué, non divisé

Ce modèle coopératif va au-delà du simple service aux E/S. Les nœuds Swarm collaborent également sur les opérations d’arrière-plan. Réplication et codage d’effacement, rééquilibrage, nettoyage de la mémoire : ces tâches sont partagées sur l’ensemble du cluster sans qu’il soit nécessaire d’utiliser des couches d’orchestration ou des rôles dédiés. L’état interne du système se propage constamment entre pairs, ce qui lui permet de s’adapter rapidement aux changements, qu’il s’agisse d’une défaillance de nœud ou d’une expansion de capacité.

Ajoutez un nouveau nœud et il commence immédiatement à participer. Pas de reconfiguration. Pas de fenêtre de migration. Pas de temps d’arrêt.

C’est un modèle qui suppose qu’une défaillance se produira  et qui est conçu pour la contourner, la réparer et continuer à avancer.

Pourquoi la mise à l’échelle est différente ici

La différence est de nature architecturale et non cosmétique. Lorsque Swarm évolue, tout s’améliore :

  • Les performances d’E/S augmentent car davantage de nœuds partagent la charge
  • La tolérance aux pannes s’améliore à mesure que les répliques et les fragments EC s’étendent plus largement
  • La simultanéité évolue car il n’y a pas de file d’attente derrière une autorité centrale
  • Le débit augmente en fonction de la contribution de chaque nœud au réseau et au disque
  • Les opérations de réparation s’accélèrent à mesure qu’un plus grand nombre de nœuds participent à la restauration
  • Le parallélisme se développe naturellement à mesure que chaque nœud gère les E/S et le travail d’arrière-plan de manière autonome

Swarm évite les cycles de rééquilibrage pénibles dont souffrent de nombreux systèmes de fichiers en cluster ou magasins d’objets basés sur des contrôleurs. Il n’y a pas de longue attente pour la redistribution. Le système absorbe et utilise naturellement les nouvelles ressources dès qu’elles sont en ligne.

Cela s’avère particulièrement efficace dans les environnements à haut débit tels que les flux de travail multimédias, les cibles de sauvegarde, l’imagerie médicale, les archives de surveillance et les lacs de données actifs. Des systèmes comme Swarm prospèrent lorsque les modèles d’accès sont imprévisibles et que les pics de demande sont la norme, exactement là où les architectures traditionnelles ont du mal.

Scalable Object Storage Architecture

Conçu pour évoluer

L’approche coopérative de Swarm entre homologues n’est pas axée que sur la performance. C’est aussi une approche opérationnelle. Elle simplifie le déploiement, supprime les goulets d’étranglement et permet aux équipes d’exécuter du stockage objet à grande échelle avec une surveillance minimale.

Parce qu’il est software-defined, Swarm fonctionne sur du matériel x86 standard, ce qui signifie que vous n’êtes pas bloqué par des appliances propriétaires ou de longs cycles d’actualisation. Vous pouvez croître de manière incrémentielle, évoluer de manière élastique et créer pour le changement sans tout réécrire.

Pour les entreprises qui utilisent des stratégies de réplication multisite, d’ingestion de cloud hybride ou d’archivage hiérarchisé, Swarm offre une base solide qui ne s’effondre pas lorsque vous souhaitez l’élargir et n’impose aucun compromis à la périphérie.

Il s’agit d’un espace de stockage conçu pour évoluer avec vous, et non autour de vous.

L’intelligence opérationnelle en arrière-plan

L’un des composants les plus importants de Swarm est le processeur d’intégrité. Il s’agit du système d’arrière-plan chargé de l’application des stratégies de protection et de la préservation de l’intégrité des données. Il audite en permanence les objets pour détecter les problèmes de réplication, de codage d’effacement, d’expiration et d’intégrité, et prend des mesures autonomes pour réparer ou recréer le contenu en fonction de l’état du cluster.

Ce qui est important, c’est que cette logique de santé soit distribuée et coopérative, tout comme le reste de la plateforme. Il n’y a pas de “nœud de réparation” ou de gestionnaire central unique : tous les nœuds contribuent au traitement de l’intégrité. Cela signifie qu’à mesure que le cluster se développe, la capacité du système à détecter et à récupérer des défaillances augmente également, sans réduire les performances des charges de travail de première ligne.

Faites travailler votre stockage pour vous

L’architecture de Swarm ne se limite pas au stockage d’objets. Elle permet aussi de redéfinir ce que les systèmes de stockage peuvent faire lorsqu’ils cessent de dépendre d’un contrôle centralisé. Si vous évaluez le stockage d’objets aujourd’hui, posez-vous les questions difficiles suivantes :

  • Le système peut-il vraiment évoluer sans goulets d’étranglement cachés ?
  • Les métadonnées sont-elles une contrainte de performance ?
  • Que se passe-t-il lorsque vous ajoutez un nœud ou que vous en perdez un ?
  • Pouvez-vous vous développer de manière organique ou avez-vous besoin de mises à niveau majeures ?
  • Les performances s’améliorent-elles avec l’échelle ou sont-elles enterrées par celle-ci ?

Si ces questions résonnent, il est temps de se pencher sérieusement sur le stockage d’objets coopératif entre pairs. Swarm ne se contente pas de survivre lorsqu’on l’élargit. Il s’épanouit.

Si votre système de stockage actuel commence à gémir à chaque fois que vous ajoutez de la capacité ou des nœuds, ce n’est peut-être pas votre infrastructure qui pose problème, mais peut-être votre architecture. Contactez DataCore pour en savoir plus sur Swarm et sur la manière dont il peut aider votre infrastructure à gérer votre déluge de données.

Maximize the Potential
of Your Data

Looking for higher availability, greater performance, stronger security, and flexible infrastructure options?

Contact Us Now

Related Posts
 
Inside the Architecture of Truly Scalable Object Storage
Vinod Mohan
Inside the Architecture of Truly Scalable Object Storage
 
Driving AI Success with Active Archive
Vinod Mohan
Driving AI Success with Active Archive
 
Cyber Resiliency Rating
Vinod Mohan
Cyber Resiliency Rating