ScholarGate
Assistant

Systèmes de stockage évolutifs

Les systèmes de stockage évolutifs répartissent les données sur de nombreuses machines afin d'offrir une capacité, un débit et une disponibilité supérieurs à ceux d'un serveur unique, tout en masquant les défaillances des nœuds individuels.

Trouver un sujet avec PaperMindBientôtFind papers & topics
Tools & resources
Télécharger les diapositives
Learn & explore
VidéoBientôt

Definition

Un système de stockage évolutif stocke les données sur une grappe de machines, les partitionnant pour la capacité et le débit et les répliquant pour la durabilité et la disponibilité, de sorte que le système agrégé évolue avec le nombre de nœuds tout en tolérant les défaillances des nœuds individuels.

Scope

Ce sujet couvre les systèmes de fichiers distribués conçus pour les grappes de serveurs standards, les magasins de clés-valeurs et de colonnes larges distribués, ainsi que les techniques de superposition structurée — hachage cohérent et tables de hachage distribuées — utilisées pour partitionner et localiser les données à grande échelle. Il aborde le partitionnement des données (sharding), la réplication pour la durabilité, et les compromis entre cohérence et disponibilité qui distinguent les magasins fortement cohérents des magasins hautement disponibles.

Core questions

  • Comment les données sont-elles partitionnées et localisées à travers un ensemble de nœuds vaste et changeant ?
  • Comment la durabilité et la disponibilité sont-elles atteintes malgré les défaillances fréquentes des nœuds ?
  • Quelles garanties de cohérence un magasin évolutif peut-il offrir, et à quel coût ?

Key theories

Systèmes de fichiers en grappe
Des systèmes comme le Google File System stockent d'énormes fichiers sous forme de blocs répliqués sur des serveurs standards, optimisant l'accès séquentiel de grande taille et traitant les défaillances comme la norme plutôt que l'exception.
Magasins structurés distribués
Les magasins de colonnes larges et de clés-valeurs tels que Bigtable et Dynamo partitionnent les données par clé à travers les nœuds et les répliquent, échangeant l'expressivité des requêtes et la cohérence contre la scalabilité horizontale et la disponibilité.
Hachage cohérent et tables de hachage distribuées
Le hachage cohérent mappe les clés et les nœuds sur un anneau de sorte que l'ajout ou la suppression d'un nœud ne déplace qu'une petite fraction des clés, et les tables de hachage distribuées comme Chord offrent une recherche de clés évolutive et décentralisée avec un routage logarithmique.

Clinical relevance

Le stockage évolutif constitue le fondement durable des plateformes cloud et des grands services web : les magasins d'objets, les bases de données et les pipelines d'analyse reposent tous sur des systèmes de fichiers distribués et des magasins de clés-valeurs dont les choix de partitionnement et de réplication déterminent les garanties de durabilité et de cohérence du système.

History

Les tables de hachage distribuées pair-à-pair telles que Chord (2001) ont démontré la recherche décentralisée évolutive ; le Google File System (2003) et Bigtable (2006-2008) ont prouvé le stockage à l'échelle d'une grappe pour les données structurées ; et Dynamo (2007) d'Amazon a popularisé le stockage de clés-valeurs hautement disponible, jetant ainsi les bases du paysage moderne du stockage évolutif et NoSQL.

Debates

Cohérence forte versus haute disponibilité dans le stockage
Les magasins fortement cohérents simplifient la logique applicative mais doivent sacrifier la disponibilité en cas de partitions, tandis que les magasins hautement disponibles comme Dynamo acceptent une divergence temporaire et délèguent la résolution des conflits à l'application ; le bon choix dépend de la tolérance des données à l'obsolescence.

Key figures

  • Sanjay Ghemawat
  • Werner Vogels
  • Ion Stoica
  • Hari Balakrishnan

Related topics

Seminal works

  • ghemawat2003
  • decandia2007
  • stoica2001

Frequently asked questions

Quel problème le hachage cohérent résout-il ?
Lorsque les données sont partitionnées entre les nœuds par hachage des clés, un hachage naïf redistribue presque tout lorsqu'un nœud est ajouté ou supprimé. Le hachage cohérent organise les clés et les nœuds sur un anneau de sorte qu'un tel changement ne déplace qu'une petite fraction bornée de clés, ce qui est essentiel pour les grappes élastiques et en constante évolution.

Methods for this concept

Related concepts