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

Happily Ever After: A CRDT Fairy Tale

Happily Ever After: A CRDT Fairy Tale

CRDTs. You feel like you’ve heard the acronym before. It sounds important and interesting, but what are they? How do they work? And why should you care? We’ll dig in to some specifics and use Atom’s teletype package as an example to understand what they’re all about.

In this broken down, accessible-to-all-experience-levels talk, you’ll leave being able to show off to your friends and colleagues by answering “what are CRDTs (conflict-free replicated data types)?” With more than just a shrug.

Allison McMillan

October 11, 2019
Tweet

More Decks by Allison McMillan

Other Decks in Technology

Transcript

  1. Happily Ever After: A
    CRDT Fairy Tale
    Allison McMillan
    @allie_p

    View Slide

  2. @allie_p
    C: Conflict Free
    R: Replicated
    D: Data
    T: Types

    View Slide

  3. @allie_p

    View Slide

  4. @allie_p

    View Slide

  5. @allie_p

    View Slide

  6. @allie_p

    View Slide

  7. @allie_p

    View Slide

  8. @allie_p

    View Slide

  9. @allie_p

    View Slide

  10. @allie_p

    View Slide

  11. Conflict Free: Eventual convergence with
    reconciles differences
    Replicated: Duplicated
    Data Type: type of data item
    @allie_p

    View Slide

  12. @allie_p

    View Slide

  13. @allie_p

    View Slide

  14. @allie_p

    View Slide

  15. @allie_p

    View Slide

  16. @allie_p

    View Slide

  17. @allie_p
    Consistency
    Availability
    Partition Tolerance

    View Slide

  18. @allie_p

    View Slide

  19. @allie_p

    View Slide

  20. @allie_p

    View Slide

  21. @allie_p

    View Slide

  22. @allie_p

    View Slide

  23. @allie_p

    View Slide

  24. @allie_p

    View Slide

  25. @allie_p

    View Slide

  26. @allie_p

    View Slide

  27. https://skirtzzz.tumblr.com/post/157137320990/girls-day-out
    @allie_p

    View Slide

  28. @allie_p

    View Slide

  29. @allie_p

    View Slide

  30. @allie_p

    View Slide

  31. @allie_p

    View Slide

  32. @allie_p

    View Slide

  33. http://jtfmumm.com/blog/diagrams/g-counter-semi-lattice.png
    @allie_p

    View Slide

  34. @allie_p

    View Slide

  35. @allie_p

    View Slide

  36. @allie_p

    View Slide

  37. Least Upper Bound
    Or
    Join
    @allie_p

    View Slide

  38. @allie_p

    View Slide

  39. @allie_p

    View Slide

  40. @allie_p

    View Slide

  41. NOT able to compare one to the other
    @allie_p

    View Slide

  42. @allie_p

    View Slide

  43. @allie_p
    https://dribbble.com/shots/2393968-REWIND

    View Slide

  44. @allie_p

    View Slide

  45. @allie_p

    View Slide

  46. 1 + 2 + 3 = 6
    2 + 1 + 3 = 6
    3 + 1 + 2 = 6
    @allie_p

    View Slide

  47. @allie_p

    View Slide

  48. 1 + 2 + 3 = 6
    (1 + 2) + 3 = 6
    (3 + 1) + 2 = 6
    @allie_p

    View Slide

  49. @allie_p

    View Slide

  50. Operational
    State-based
    @allie_p

    View Slide

  51. Operational
    @allie_p

    View Slide

  52. @allie_p

    View Slide

  53. @allie_p

    View Slide

  54. @allie_p

    View Slide

  55. @allie_p

    View Slide

  56. @allie_p

    View Slide

  57. @allie_p

    View Slide

  58. State-based
    @allie_p

    View Slide

  59. @allie_p

    View Slide

  60. @allie_p

    View Slide

  61. @allie_p

    View Slide

  62. @allie_p

    View Slide

  63. @allie_p

    View Slide

  64. @allie_p

    View Slide

  65. @allie_p

    View Slide

  66. @allie_p

    View Slide

  67. @allie_p

    View Slide

  68. @allie_p

    View Slide

  69. @allie_p

    View Slide

  70. @allie_p

    View Slide

  71. @allie_p

    View Slide

  72. @allie_p
    Delta state-based CRDTs

    View Slide

  73. @allie_p
    Delta state-based CRDTs
    CAP Theorem
    Gossip Protocol
    Join Semilattices
    Operation-based CRDTs
    State-based CRDTs

    View Slide

  74. @allie_p
    http://daydreamsinruby.com/CRDT-sources

    View Slide

  75. @allie_p

    View Slide

  76. @allie_p

    View Slide

  77. Thank You!
    [email protected]
    www.daydreamsinruby.com
    @allie_p

    View Slide