Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Convergent Replicated Data Types

Convergent Replicated Data Types

Patrick Van Stee

December 14, 2012
Tweet

More Decks by Patrick Van Stee

Other Decks in Programming

Transcript

  1. Node 1 Node 2 { a: “200” } { a:

    “-3000” } { a: “200”, a: “-3000” } Riak
  2. Serious Business { SB[PVS]: 0} Serious Coding { SB[PVS]: 1}

    # PVS++ { SC[PVS]: 0} { SC[PVS]: 5} # PVS += 5 { SB[PVS]: 2} # PVS++ Merge { SB[PVS]: 2, SC[PVS]: 5} { SB[PVS]: 1, SC[PVS]: 5} { SB[PVS]: 2, SC[PVS]: 5} { PVS: 7}
  3. Serious Business { SB[PVS+]: 0, SB[PVS-]: 0 } Serious Coding

    { SB[PVS+]: 1, SB[PVS-]: 0 } # PVS++ { SB[PVS+]: 0, SB[PVS-]: 0 } { SB[PVS+]: 5, SB[PVS-]: 0 } # PVS += 5 { SB[PVS+]: 1, SB[PVS-]: 1 } # PVS-- Merge { PVS+: 6, PVS-: 1 } { PVS+: 6, PVS-: 0 } { PVS+: 6, PVS-: 1 } { PVS: 5 }
  4. Serious Business { PVS: [ ] } Serious Coding {

    PVS: [] } { PVS: [] } { PVS: [ ] } Merge { PVS: [ , ] } { PVS: [ , ] } { PVS: [ , , ] } { PVS: [ , , ] }
  5. Serious Business { PVS+: [ ], PVS-: [] } Serious

    Coding { PVS+: [], PVS-: [] } { PVS+: [], PVS-: [] } { PVS+: [ ], PVS-: [] } Merge { PVS+: [ , ], PVS-: [ ] } { PVS+: [ ], PVS-: [ ] } { PVS+: [ , ], PVS-: [] } { PVS+: [ , ], PVS-: [ ] } { PVS: [ ] }