CRDTs for Non Academics

Sdílet
Vložit
  • čas přidán 27. 07. 2024

Komentáře • 41

  • @jrajesh11
    @jrajesh11 Před 24 dny

    Subscribed within the first minute ! Great presentation

  • @zealousswede
    @zealousswede Před rokem +1

    Thank you, I'm a frontend engineer about to implement a CRDT, this is truly helpful.

  • @sunandasullivan324
    @sunandasullivan324 Před 6 lety +11

    hilarious + super informative == genius!

  • @inginheiiro
    @inginheiiro Před rokem

    Awesome explanation
    Looking forward for the next video for dummies explaining "tons more"

  • @TonyGermaneri
    @TonyGermaneri Před 3 lety +3

    Great video. Trying to move from OT to CRDT, this makes it a lot easier.

    • @Stephanvs
      @Stephanvs Před 3 lety +1

      The great thing here is that OT requires a central server for coordination, whereas CRDT's doesn't. Actors can be full P2P and network partitioned and still converge.

    • @linkinl1
      @linkinl1 Před 3 lety

      What does OT stand for??? google aint helping

    • @Stephanvs
      @Stephanvs Před 3 lety +2

      @@linkinl1 OT means Operational Transformation. Its an algorithm used in Google Docs. en.m.wikipedia.org/wiki/Operational_transformation

  • @raul834
    @raul834 Před 6 lety

    Great introduction!!! Thank you very much. Thumbs up!

  • @buildlackey
    @buildlackey Před 6 lety

    please do more ! -- great explanation.

  • @gshayban
    @gshayban Před 6 lety +1

    This is so well done. Cheers!

  • @milossimicsimo
    @milossimicsimo Před 5 lety

    This is so great video! Thanks man!

  • @ChumX100
    @ChumX100 Před 2 lety +1

    The definition you give for SEC seems to describe regular EC. SEC is stronger in the sense that it requires all nodes to end up in the same state as soon as they recieve the same updates, without the need of consensus or rollbacks.

  • @adriangeorgescu7395
    @adriangeorgescu7395 Před 3 lety

    Awesome. Thanks for this video!

  • @polares8187
    @polares8187 Před 4 lety

    Very informative. Thanks a lot.

  • @MAURICAFonenantsoa
    @MAURICAFonenantsoa Před 4 lety +4

    4:55 The very core of CRDT in three lines

  • @cesaralves2303
    @cesaralves2303 Před 3 lety

    Good stuff dude. Thanks!

  • @_inetuser
    @_inetuser Před rokem

    that was great! well explained

    • @_inetuser
      @_inetuser Před rokem

      and the gi joe example was creative and entertaining :D

  • @k98killer
    @k98killer Před rokem +1

    Missing the part about operations/state updates being idempotent. Without idempotence, the communication model has to be exactly-once delivery rather than the more realistic asynchronous broadcast model. The data types demonstrated would not work in an asynchronous broadcast network where messages get duplicated without additional safety checks like storing the hash of each update previously applied.

  • @nicholaschen8520
    @nicholaschen8520 Před 2 lety

    great explanation, thanks very much

  • @TheBharad6
    @TheBharad6 Před 2 lety +1

    Also, can we not make division commutative, by forming it as a multiplication problem? a / b -> a * 1/b which is the same as 1/b * a

  • @josephalawi7997
    @josephalawi7997 Před 4 lety

    Great explanation! At 6:10 all of the actors should arrive at +8 and not +9 right?

    • @mathdroid
      @mathdroid Před 3 lety

      +9 because all of them are SET ;)

  • @TheBharad6
    @TheBharad6 Před 2 lety +1

    Why do you need 2 counters to increment and decrement? Why not just keep one number and add and subtract to it; in the end, it should still have the same state, right?

    • @louroboros
      @louroboros Před rokem

      I had the very same question. Love the presentation but this detail has me questioning my intuition.

    • @kx01
      @kx01 Před 7 měsíci

      @@louroboros search: An introduction to Conflict-Free Replicated Data Types (CRDTs) on youtube and go to timestamp 7:45

    • @kx01
      @kx01 Před 7 měsíci

      CRDT are monotnic. values can either be greater or the same. but won't get smaller. let say one data has come as et: 2, and other one came as et: 3. We will be taking max of these two which is 3 because of the thing I mentioned previously. So how's decrement gonna work here as we are taking max and value has not been reduced in this example? for this reason we are having 2 separate counter for increment and decrement logic.

  • @aoe9857
    @aoe9857 Před 4 lety

    Can this principle be used as a consensus algorithm for a distributed ledger (especially for a cryptocurrencies)?
    Besides, what prevents the gurus from lying on their respective timestamp? For example guru 1 wants to impose his answer 'Family' he can put a bigger timestamp than guru 3.
    What's the advantage of keeping track of all the increments and all the decrements of an integer?
    What happens if 2 modifications happen with the same timestamp?

    • @Dimedrolity
      @Dimedrolity Před 4 lety

      "What happens if 2 modifications happen with the same timestamp?" In SEC, we can initially agree how we resolve the conflict. For example, we have ToDo-list and 2 users (user_Id_0 and user_Id_1). When both two users renames one element of ToDo-list (in one timestamp), we have the conflict, and we can use our agree of resolving conflicts (for example, we can take renaming from user with Id 0, because he is older user than user with Id 1)

  • @TrieuTran27389
    @TrieuTran27389 Před 2 lety

    Does someone know how do we know the request is late comer or not?

  • @jsdevtom
    @jsdevtom Před 5 lety

    Why does 'D' appear twice @11:50?

  • @nayaleezy
    @nayaleezy Před 3 lety

    The versioning of set operations sounds like MVCC

  • @mayberedacted69420
    @mayberedacted69420 Před 2 lety

    MOAR LYK DIS

  • @BorisSmus
    @BorisSmus Před 4 lety +3

    Nit: subtraction is not commutative. You can frame division to be commutative as well: a * (1/b) = (1/b) * a.

    • @conduit242
      @conduit242 Před 6 měsíci +1

      It is, it just cannot be mixed with addition in a single counter. A CRDT counter is two counters, one for increment and one for decrement.

  • @xilin2298
    @xilin2298 Před 3 lety

    great

  • @lucidraisin
    @lucidraisin Před 6 lety

    Lmao, great explanation!

  • @phmfthacim
    @phmfthacim Před 4 lety +1

    "FATHER JUST SAW 42 AND IGNORED THE REST"

  • @memiux
    @memiux Před 2 měsíci

    5:05 😏