Types de données répliquées convergentes et commutatives

TL;DR

Une thèse d’informatique traite des types de données permettant de créer des applications distribuées dont les données convergent sans synchronisation à priori. J’ai traduit et vulgarisé ce papier en deux articles.

Lire la suite Types de données répliquées convergentes et commutatives

Types de données répliquées convergentes et commutatives – Partie 2 : Exemples Pratiques

«La cohérence à terme vise à assurer que les répliques d’un objet partagé modifiable convergent sans synchronisation à priori.»

Ce sujet est composé de deux articles : la première partie est théorique. Elle définit les propriétés mathématiques que doivent respecter les types de données répliqués convergentes et commutatives.

La seconde partie de l’article est un portfolio d’exemples pratiques. Y sont présentés les différents types de base et d’autres types plus élaborés.

Partie 2 : Exemples pratiques


Lire la suite Types de données répliquées convergentes et commutatives – Partie 2 : Exemples Pratiques

Types de données répliquées convergentes et commutatives – Partie 1 : Théorie

«La cohérence à terme vise à assurer que les répliques d’un objet partagé modifiable convergent sans synchronisation à priori.»

Ce sujet est composé de deux articles (hors introduction) : une exploration théorique de ce qu’est un type de données répliquées convergent et commutatif. Cette première partie définit les propriétés mathématiques que doivent respecter ces types de données.

La seconde partie de l’article est un portfolio d’exemples pratiques.

Partie 1 : Modèle théorique


TL;DR

Partons du principe que le réseau distribue à la longue les opérations de mises à jour entre tous les nœuds. Les nœuds sont de confiance et peuvent être déconnectés et reconnectés. Les nœuds continuent à opérer pendant les instants de déconnexion.

Plusieurs contraintes sur les opérations possibles sur les objet de ces nœuds garantissent la cohérence à terme des répliques de cet objet partagé sans synchronisation, ni consensus, à priori.

En basant le type de données sur l’état, ces contraintes sont :

  • Associativité : fusion(x, fusion(y,z)) = fusion(fusion(x,y), z)
  • Commutativité : fusion(x,y) = fusion(y,x)
  • Idempotence : fusion(x,x) = x

En basant le type de données sur l’opération, ces contraintes sont :

  • Associativité : op(x, op(y,z)) = op(op(x,y), z)
  • Commutativité : op(x,y) = op(y,x)

Lire la suite Types de données répliquées convergentes et commutatives – Partie 1 : Théorie