« Conflict-free replicated data type » en français

« Type de Données Répliqué sans Conflit » ( TDRC )

Un article qui parle d’informatique théorique et de gestion de données au travers des réseaux

En informatique comme ailleurs il y a des solutions plus où moins élégantes pour résoudre un problème.

Pascal (moi)

Comment gérer la copie, la modification et la mise en commun de donnée comme un texte de manière automatique et décentralisé ?
C’est à cette question que tente de répondre cette technique CRDT.

Je précise tout de suite que je n’ai jamais utilisé CRDT en tant que développeur.

C’est quoi CRDT ?

C’est une structure de donnée qui simplifie le stockage distribué et la conception d’application multi-utilisateurs.
Il est possible de passer par un serveur centrale ou directement de pair-à-pair ( P2P ) pour faire les copies et pour synchroniser les changements apporté de chaque côté.

Chaque copie d’une jeu de donnée est appelé réplique.

Les avantages d’un tel système sont :

  • l’indépendance de copies : changement de manière désynchronisé et sans coordination centrale
  • un algorithme se charge de la mise en commun des changements, il fait parti du « Type de Donnée »
  • même si les répliques ont différents états à un moment donné, leur convergence est garantie.

À quoi ça sert CRDT ?

Si vous avez à gérer une appli avec deux versions web et appli pour mobile, vous aller vite voir l’intérêt.

Un site web plus une appli mobile

Un exemple où CRDT serait utile : pour le portail de Saint-Pierre et Miquelon https://www.spm-patrimoine-naturel.fr/

Nous avons développé un site web qui affiche toute les observations du milieu naturel et qui permet la coopération pour l’identification. Ce site utilise la bonne vieille méthode du client/serveur. Ça marche très bien.

Pour l’application mobile qui est majoritairement hors ligne en revanche nous avons décidé de ne pas permettre l’édition des observations une fois celle-ci sur le serveur pour éviter toutes incohérences.

Nous aurions pu utiliser ce système de « Données Répliqué sans Conflit » pour gérer ce cas d’usage.

Quelques exemples

Sources

Je me suis très largement appuyé sur la documentation officielle et partiellement traduit les sources suivantes :

  • https://crdt.tech/
  • https://en.wikipedia.org/wiki/Conflict-free_replicated_data_type

Commentaires

Une réponse à “« Conflict-free replicated data type » en français”

  1. Coucou juste un test de commentaire sur mobile

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.