Set CRDT com Múltiplas Políticas de Resolução de Conflitos

03/08/2019
by   André Rijo, et al.
0

Um CRDT é um tipo de dados que pode ser replicado e modificado concorrentemente sem coordenação, garantindo-se a convergência das réplicas através da resolução automática de conflitos. Cada CRDT implementa uma política específica para resolver conflitos. Por exemplo, um conjunto CRDT add-wins dá prioridade ao "add" aquando da execução concorrente de um "add" e "rem" do mesmo elemento. Em algumas aplicações pode ser necessário usar diferentes políticas para diferentes execuções de uma operação -- por exemplo, uma aplicação que utilize um conjunto CRDT add-wins pode querer que alguns "removes" ganhem sobre "adds" concorrentes. Neste artigo é apresentado e avaliado o desenho dum conjunto CRDT que implementa as semânticas referidas. --- Conflict-Free Replicated Data Types (CRDTs) allow objects to be replicated and concurrently modified without coordination. CRDTs solve conflicts automatically and provide eventual consistency. Typically each CRDT uses a specific policy for solving conflicts. For example, in an add-wins set CRDT, when an element is concurrently add and removed in different replicas, priority is given to add, i.e., the element stays in the set. Unfortunately, this may be inadequate for some applications - it may be desired to overrule the default policy for some operation executions. For example, an application using an add-wins set may want some removes to win over concurrent adds. This paper present the design of a set CRDT that implements such semantics.

READ FULL TEXT

Please sign up or login with your details

Forgot password? Click here to reset