Distributed Systems 7.3: Eventual consistency

  Рет қаралды 29,296

Martin Kleppmann

Martin Kleppmann

Күн бұрын

Пікірлер: 29
@mostinho7
@mostinho7 7 күн бұрын
Thanks! 1:00 linearizability advantages disadvantages 8:00 eventual consistency formally 10:55 consistency models
@mrfchannel142
@mrfchannel142 3 жыл бұрын
I already immensely enjoyed the DDIA book, but for me being more of a visual/interactive learner this is just a total gem. Thanks a lot for making those lectures public, Martin!
@aliwassouf
@aliwassouf Жыл бұрын
You have an outstanding ability to explain things, thanks for the effort. I hope to see more from you. I am preparing for system design interviews and this video is one of the gems in my collection now
@zhou7yuan
@zhou7yuan 3 жыл бұрын
Eventual consistency Linearizability advantages Linearizability Downsides [0:32] (calendar app example) [2:13] (phone airplane mode conflict) [3:08] The CAP theorem [4:59] Eventual consistency [6:31] Strong eventual consistency [7:55] Eventual delivery Convergence [8:23] Properties [9:13] Summary of minimum system model requirements [11:01] atomic commit consensus | total order broadcast | linearizable CAS linearizable get/set eventual consistency | causal broadcast | FIFO broadcast
@tirumaleshy9636
@tirumaleshy9636 4 жыл бұрын
Good stuff martin! Please keep updating new lectures from DDIA
@manveersingh5822
@manveersingh5822 3 жыл бұрын
That calendar example was so good sir. Thanks!
@guessWhoWhenWhere
@guessWhoWhenWhere 24 күн бұрын
Exactly
@OKJazzBro
@OKJazzBro 2 жыл бұрын
13:40 Linearizable get/set would need quorum + _synchronous_ read repair right? If the read repair is done asynchronously, another get operation could execute before the read repair happens and get an older value from stale replicas thus violating linearizability.
@mohamedbalshy3105
@mohamedbalshy3105 10 ай бұрын
exactly what i was thinking about, how it need a quorum and async ?
@hpandeymail
@hpandeymail 2 жыл бұрын
Great Content Shree Martin .. thanks for sharing such good insights across all your videos.
@andrewzhurov5123
@andrewzhurov5123 Жыл бұрын
Excellent material.
@navneetmishra367
@navneetmishra367 Ай бұрын
So I tried doing the same in Google Calendar. In the desktop app, I updated the time, and in the mobile app, I updated the title. Post connecting to the internet on my phone, I saw both calendar versions synced with modified time and modified title.
@arturuklejewski7339
@arturuklejewski7339 3 жыл бұрын
Great presentation ! Thank you for sharing.
@umamaheshsukamanchi
@umamaheshsukamanchi 4 жыл бұрын
Very well explained.thanks for sharing.
@benjaminkuchcik4600
@benjaminkuchcik4600 4 жыл бұрын
If the isolated node in the Quorum receives user update and crash (by example hard vm & disk crash, you are not lucky), it means that the Eventual Consistensy implies data loss when network failures happens ? In the example of the Calendar, it could lead to a calendar entry totaly removed.
@Ondra011
@Ondra011 4 жыл бұрын
Good point, although it doesn't seem like a proper formal definition of eventual consistency was given, it sounds like that situation would violate the invariant that all replicas end up in the same state. Eventual delivery fixes this by only talking about non-faulty replicas.
@shoumikghosal
@shoumikghosal 4 жыл бұрын
Interesting point! Maybe a new data object being created locally in an isolated/partitioned node involves some bit updates/logging to the local permanent storage? Since otherwise not having an internet connection would mean the calendar app loses a perfectly valid new entry after a crash.
@rohankathpal7642
@rohankathpal7642 8 ай бұрын
No it won't, because if it was written to the oplog of the replica before the crash, then it would reflect the change in the replica, and if it's not written in the oplog, the replica would copy all the transactions until it's oplog looks same as the oplog of the master node.
@satinek
@satinek 3 жыл бұрын
I really liked the presentation of the calendar example. I‘ve heard this example before but not as well presented as here.
@iSumitYadav
@iSumitYadav 4 жыл бұрын
How the last write win policy working? Last write was made by iphone and not mac!
@yihanwu3823
@yihanwu3823 3 жыл бұрын
I think this is kind of misleading, as the info got lost just because the network was cut off and could not even make a write to server.
@vhscampos1
@vhscampos1 2 жыл бұрын
Last write was made by the Mac (edit: iPhone) only if write order is defined by actual time of the day (physical clock). It it is instead defined by logical clocks, like Lamport clocks, it could be the case that both writes had the same Lamport clock, but the Mac won out because it had a lesser node ID, for example.
@florayym
@florayym 2 жыл бұрын
@@vhscampos1 I am a little confused about the first part of your answer. According to the physical clock, isn't the case that the last write was made by iPhone, not Mac? I think it makes sense that it's actually "defined by logical clocks". And when logical clocks are the same, they compare node ID to decide who makes the last write.
@vhscampos1
@vhscampos1 2 жыл бұрын
@@florayym My mistake indeed. I meant iPhone where I wrote Mac.
@2tce
@2tce 2 жыл бұрын
@@yihanwu3823 Agreed. It was offline. Zero communication with any replicas. So when it came back online it got updated with the latest. The offline phone update was a never written. So there is no such thing as LAST WRITE in this case. So yes, I agree with you that this example was off, and misleading.
@blocksmithbrothers
@blocksmithbrothers 3 жыл бұрын
In case of eventual consistency where read and writes are processed at local, how we can guarantee durability if local crashes after acknowledgement of write but further disseminating to other nodes?
@abhinavghosh725
@abhinavghosh725 2 жыл бұрын
the calendar example was impressive
@420_gunna
@420_gunna 2 жыл бұрын
Anyone know the "AVD" algorithm that he's talking about? Hard to google
@mehdisaffar
@mehdisaffar 2 ай бұрын
I believe it is ABD algorithm, as stated in the lecture notes
Distributed Systems 8.1: Collaboration software
36:26
Martin Kleppmann
Рет қаралды 23 М.
Distributed Systems 5.1: Replication
25:21
Martin Kleppmann
Рет қаралды 47 М.
VIP ACCESS
00:47
Natan por Aí
Рет қаралды 30 МЛН
Арыстанның айқасы, Тәуіржанның шайқасы!
25:51
QosLike / ҚосЛайк / Косылайық
Рет қаралды 700 М.
99.9% IMPOSSIBLE
00:24
STORROR
Рет қаралды 31 МЛН
BAYGUYSTAN | 1 СЕРИЯ | bayGUYS
36:55
bayGUYS
Рет қаралды 1,9 МЛН
Distributed Systems 2.3: System models
20:45
Martin Kleppmann
Рет қаралды 52 М.
Dealing with eventual consistency - Dennis van der Stelt - NDC Oslo 2022
51:00
Distributed Systems 4.2: Broadcast ordering
16:19
Martin Kleppmann
Рет қаралды 53 М.
L17: Consistency Models in Distributed Systems
18:58
Distributed Systems Course
Рет қаралды 32 М.
Distributed Systems 7.1: Two-phase commit
18:45
Martin Kleppmann
Рет қаралды 68 М.
Distributed Systems 7.2: Linearizability
18:44
Martin Kleppmann
Рет қаралды 39 М.
Distributed Systems 3.1: Physical time
20:48
Martin Kleppmann
Рет қаралды 42 М.
Distributed Systems 1.3: RPC (Remote Procedure Call)
19:45
Martin Kleppmann
Рет қаралды 108 М.
VIP ACCESS
00:47
Natan por Aí
Рет қаралды 30 МЛН