Data Consistency and Tradeoffs in Distributed Systems

preview_player
Показать описание
This is a detailed video on consistency in distributed systems.

00:00 What is consistency?
00:36 The simplest case
01:32 Single node problems
03:35 Splitting the data
04:23 Problems with disjoint data
07:10 Data Copies
12:01 The two generals problem
13:56 Leader Assignment
15:24 Consistency Tradeoffs
15:56 Two phase commit
25:00 Eventual Consistency

You can follow me on:

#SystemDesign #DistributedSystems #Consistency
Рекомендации по теме
Комментарии
Автор

Your system design videos helped me get a job at Amazon! Thank you so much for all the great work you are doing! :)

MsSierra
Автор

For new readers, I think it should be explicitly pointed out that Consistency in ACID is very different from Consistency in CAP.
ACID consistency means that the values in DB should be valid i.e. if we are making two transactions both should complete before committing to disk.
CAP consistency means read requests to different nodes of a distributed system return the exact same data.
A system can exist without CAP consistency but a system should never exist without ACID consistency. ACID consistency is must-have for any RDBMS to be reliable/useful while CAP consistency can be a trade-off as per requirement.

To be honest C in ACID doesn't add any proper value. If a transaction is Atomic, Isolated, and Durable, it automatically becomes consistent.

shubhamsingh
Автор

The way you teach concepts from scratch/ bottom-up way is the most favourite thing in this channel !

samarthtandale
Автор

One thing I learnt from this video today is you can’t get super computers in super market.

nameunknown
Автор

Great explanation.

However 2 phase commit is not usually recommended in the current industry due to a possible failure on the coordinator or the microservies will mix the things up by keeping locking the resources, timing out etc..

Therefore there are other options like 3 phase commit or SAGA which are widely used in fintech as well as in big companies.

cengizandak
Автор

You said facebook is down and it was down after a week. what a coincident!

yt-hqcu
Автор

Amazing video. So easy to understand complicated topics. I have very limited experience with this and the pace and the content was perfect.

benparker
Автор

That 'Yeah! I made a joke!' look at 8:32 is priceless!

gokuls
Автор

Thanks bro I have been doing front-end for the past 5 years. I’m just putting myself back on the market now and this video is a great refresher on the fundamentals consistency in distributed systems.

robotempire
Автор

Nice, its also worth knowing more than 2PC, we can also use TC/C (Try Cancel/commit ) which does not explicitly lock the resources; rather it works by issuing compensating tx in case of failures..

hamsalekhavenkatesh
Автор

Amazing explanation!
Thanks a lot!

I feel more and more confident in system design daily... Thanks to you, sir!

sankalparora
Автор

I like ur energy and the selfless appetite to share with community...

srikanthmaganty
Автор

That 'C++' expression was priceless 😁

aniketsingh
Автор

Woah, the tshirt is from NIT Silchar daaaamn
great stuff as always, thanks budddy

newbie
Автор

'C' in CAP is what 'I' in ACID. 'C' in ACID has no analogy in CAP and means that there are constraints and the DBMS makes sure they are not violated. More specifically, 'C' in CAP is linearizability, while 'I' in ACID is serializability (and not even strict serializability, which would be more similar to linearizability). While both are what is called "consistency model" or "correctness condition" (a similar concept in programming languages and in processor instruction set architectures is called "memory model"), they are not the same.

stIncMale
Автор

Thanks a lot for sharing this content! this is very helpful. Although I was aware of a lot of concepts there, your samples help me to figure them out a lot better. :)

eduardolacerda
Автор

I loved the pause on the C++ joke >_< as if to say yes I’m going there

stephensmithwick
Автор

When i started listening to your videos ... i had no idea other e than you know your stuff, right now I can keep up quite alright...i now appreciate the level of your skill...and the chronological argument you give and use to explain. I love this man

lakeman
Автор

Great work. Thanks for the knowledge. However, in the explanation there's 1 server with write which makes it again a single point failure and if we increase the write servers then we're back to square one. Can you address this?

stalera
Автор

"Maybe C was updated here; maybe C++", shots fired

DejaimeNeto