ScholarGate
Assistant

Réplication et cohérence des données

La réplication des données maintient plusieurs copies des données pour assurer la disponibilité et améliorer les performances, tandis que les protocoles de cohérence régissent la manière dont les lectures et les écritures sont réconciliées entre ces copies.

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

Definition

La réplication des données maintient des copies d'un élément de données sur plusieurs nœuds ; un modèle de cohérence spécifie les garanties concernant les valeurs que les lectures peuvent retourner, compte tenu de l'historique des écritures, allant de la cohérence forte (chaque lecture voit la dernière écriture) à la cohérence éventuelle (les répliques convergent si les mises à jour cessent).

Scope

Ce sujet aborde les stratégies de réplication (primaire-secondaire, multi-maître, quorum), les protocoles de lecture/écriture basés sur le quorum et leurs exigences d'intersection, l'anti-entropie et le 'gossip' pour la convergence éventuelle, la détection des conflits avec les vecteurs de version et les types de données répliqués sans conflit (CRDTs), ainsi que le spectre de la cohérence, de la linéarisable à l'éventuelle. Il traite de l'équivalent au niveau des données de la réplication d'automates.

Core questions

  • Comment les tailles de quorum pour les lectures et les écritures garantissent-elles que les lectures observent la dernière écriture ?
  • Comment les répliques convergent-elles sous cohérence éventuelle, et comment les conflits sont-ils résolus ?
  • Quel niveau de cohérence une application devrait-elle choisir compte tenu de ses besoins en latence et en disponibilité ?

Key theories

Consensus par quorum pour les données répliquées
En attribuant des votes aux répliques et en exigeant des quorums de lecture et d'écriture dont la somme des tailles est supérieure au total, chaque quorum de lecture intersecte le dernier quorum d'écriture, garantissant ainsi que les lectures observent des données à jour.
Cohérence éventuelle et anti-entropie
Les magasins hautement disponibles acceptent les écritures sur n'importe quelle réplique et se réconcilient de manière asynchrone via le 'gossip' et les vecteurs de version, garantissant seulement que les répliques convergent lorsque les mises à jour cessent, comme l'illustre la conception de Dynamo.
Types de données répliqués sans conflit
Les CRDTs sont des types de données dont les opérations sont conçues pour commuter ou dont les états forment un semi-treillis de jointure, de sorte que les mises à jour concurrentes fusionnent de manière déterministe sans coordination, offrant une cohérence éventuelle forte.

Clinical relevance

Ces techniques définissent les garanties des systèmes de stockage réels : les protocoles de quorum sous-tendent les magasins clé-valeur fortement cohérents, tandis que la cohérence éventuelle et les CRDTs alimentent les magasins hautement disponibles, les paniers d'achat et les éditeurs collaboratifs où la disponibilité prime sur l'accord immédiat.

History

Le schéma de vote pondéré de Gifford en 1979 a établi la réplication par quorum ; l'article Dynamo d'Amazon en 2007 a popularisé la cohérence éventuelle hautement disponible ; et la formalisation des CRDTs en 2011 a fourni une base de principes pour une convergence sans coordination, façonnant la conception moderne des données répliquées.

Debates

Quel niveau de cohérence les données répliquées devraient-elles fournir par défaut ?
La cohérence forte facilite le développement d'applications mais limite la disponibilité et ajoute de la latence, tandis que la cohérence éventuelle maximise la disponibilité au prix de l'exposition à une divergence temporaire ; les quorums ajustables et les CRDTs sont des tentatives pour permettre aux applications de choisir par opération.

Key figures

  • David Gifford
  • Werner Vogels
  • Marc Shapiro
  • Andrew S. Tanenbaum

Related topics

Seminal works

  • gifford1979
  • decandia2007
  • shapiro2011

Frequently asked questions

Comment les quorums de lecture et d'écriture garantissent-ils des lectures à jour ?
Si une écriture doit atteindre W répliques et qu'une lecture doit consulter R répliques, et que R plus W dépasse le nombre total de répliques, alors tout quorum de lecture chevauche le quorum d'écriture le plus récent dans au moins une réplique, de sorte que la lecture peut observer la dernière valeur.

Methods for this concept

Related concepts