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 full-size slide

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

    View full-size slide

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

    View full-size slide

  4. @allie_p
    Consistency
    Availability
    Partition Tolerance

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  7. Least Upper Bound
    Or
    Join
    @allie_p

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  12. Operational
    State-based
    @allie_p

    View full-size slide

  13. Operational
    @allie_p

    View full-size slide

  14. State-based
    @allie_p

    View full-size slide

  15. @allie_p
    Delta state-based CRDTs

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide