Subscribed within the first minute ! Great presentation
@memiux
4 ай бұрын
5:05 😏
@_inetuser
Жыл бұрын
that was great! well explained
@_inetuser
Жыл бұрын
and the gi joe example was creative and entertaining :D
@ZealousSwede
Жыл бұрын
Thank you, I'm a frontend engineer about to implement a CRDT, this is truly helpful.
@inginheiiro
Жыл бұрын
Awesome explanation Looking forward for the next video for dummies explaining "tons more"
@k98killer
2 жыл бұрын
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.
@TheBharad6
2 жыл бұрын
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
@TheBharad6
2 жыл бұрын
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
Жыл бұрын
I had the very same question. Love the presentation but this detail has me questioning my intuition.
@kx01
9 ай бұрын
@@louroboros search: An introduction to Conflict-Free Replicated Data Types (CRDTs) on youtube and go to timestamp 7:45
@kx01
9 ай бұрын
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.
@nicholaschen8520
2 жыл бұрын
great explanation, thanks very much
@TrieuTran27389
2 жыл бұрын
Does someone know how do we know the request is late comer or not?
@ChumX100
3 жыл бұрын
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.
@egonbeepboop
3 жыл бұрын
MOAR LYK DIS
@cesartalves
3 жыл бұрын
Good stuff dude. Thanks!
@xilin2298
3 жыл бұрын
great
@nayaleezy
3 жыл бұрын
The versioning of set operations sounds like MVCC
@adriangeorgescu7395
3 жыл бұрын
Awesome. Thanks for this video!
@TonyGermaneri
4 жыл бұрын
Great video. Trying to move from OT to CRDT, this makes it a lot easier.
@Stephanvs
3 жыл бұрын
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
3 жыл бұрын
What does OT stand for??? google aint helping
@Stephanvs
3 жыл бұрын
@@linkinl1 OT means Operational Transformation. Its an algorithm used in Google Docs. en.m.wikipedia.org/wiki/Operational_transformation
@josephalawi7997
4 жыл бұрын
Great explanation! At 6:10 all of the actors should arrive at +8 and not +9 right?
@mathdroid
4 жыл бұрын
+9 because all of them are SET ;)
@polares8187
4 жыл бұрын
Very informative. Thanks a lot.
@kushaltm6325
4 жыл бұрын
@14:08 Its Awesome.... Its Gold standard Example. THANKS a LOT. Clarified so much of my confusions......... The link below adds little more details tot he example there to make Vector Clocks so understandable. riak.com/why-vector-clocks-are-easy/
@BorisSmus
4 жыл бұрын
Nit: subtraction is not commutative. You can frame division to be commutative as well: a * (1/b) = (1/b) * a.
@conduit242
9 ай бұрын
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.
@phmfthacim
4 жыл бұрын
"FATHER JUST SAW 42 AND IGNORED THE REST"
@MAURICAFonenantsoa
4 жыл бұрын
4:55 The very core of CRDT in three lines
@aoe9857
5 жыл бұрын
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
4 жыл бұрын
"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)
@jsdevtom
5 жыл бұрын
Why does 'D' appear twice @11:50?
@milossimicsimo
6 жыл бұрын
This is so great video! Thanks man!
@lucidraisin
6 жыл бұрын
Lmao, great explanation!
@dazzen
6 жыл бұрын
Lock-in is just lame. Nice work pal.
@raul834
6 жыл бұрын
Great introduction!!! Thank you very much. Thumbs up!
Пікірлер