I have to say, this is by far one of the clearest explanations I've seen (of anything not just of distributed systems). Your ability to convey the idea both simply and elegantly is a real testament to your experience and knowledge of the subject. Thank you for this.
The best 7 minutes explanation on the internet which tells about CAP theorem easily than those pretentious youtube 30-40 minute videos where you don't get much information than this and end up getting confused too . A Big thank you !!!
The RUclips algorithm has finally succeeded. I'm glad I found this explanation. The explanation is so clear, to the point and the best part is couple of his videos are explained with a real world example. That's real great! Bonus: if you've not yet seen his counter strike explanation yet, watch it right away.
I am someone who is transitioning to a software engineering career. Very strong at algorithms. Have a google interview coming up and i was told that they would want me to know system design. It was shattering for me because i dont have much confidence in that, and a lot of my surfing has taught me that there is no substitute for real experience. But you, sir, are doing an excellent job. I love you!
By the way, since you are reading the comments and replying. I was wondering if you plan in the future to maybe go over the original legendary papers such as bigtable and gfs, talking about the kind of needs and design decisions that led to it? Not wanting to know confidential things but just an insiders perspective would be very awesome!
I've deliberately avoided topics where I might be tempted to violate my NDA. ;-) Having said that -- the next topic I've been writing notes for is explaining how distributed storage systems work. So you might get a taste of what you are looking for if/when I finish that. FWIW, GFS (as described in the SOSP paper) is no longer in use inside Google, it has been replaced by a successor called Colossus. It looks like a reasonable overview of Colossus is in this slide deck: www.pdsw.org/pdsw-discs17/slides/PDSW-DISCS-Google-Keynote.pdf
Currently studying an advanced unit of databases at University for a Bachelor of IT and this video presented the concept of the CAP Theorem far better than the University lecturer, well done.
Excellent example, after grappling with this subject for hours I finally got it within a few minutes when you gave the bank example. Gonna check our the rest of your vids!
i looked over different sources to get the proper understanding of this CAP theorem, and by far i can say that this is the Best explanation i've seen. especially when you gave that example of google Docs then the difference between consistency and availability couldn't get any clearer. thank you so much sir
Thanks for making this video, you have explained in detail with a very simple ATM example which everyone could relate to, looking forward to see more of such videos, subscribing
Thank you for explaining beautifully with a simple and real life use cases. I have seen many sites including one from IBM Cloud just telling what CAP means without any meaningful examples.
May I ask about your plans on doing more of these? Perhaps a helping hand? I'd love to be able to point my current and future less experienced co-workers to these... I was thinking a deeper dive into topics like CQRS, event sourcing, event-driven distributed systems, DDD, system monitoring, distributed logging, containers -- the field is full with interesting stuff... that is often to "copy and paste" and less "stop and think".
Thanks for the offer! I'm working on creating more in the background, but my primary job is to be a stay-at-home dad (and right now, with Covid, apparently a homeschool instructor too). Hopefully I'll get more out soon. If you want some more stuff to study, I've added a few links at www.distributedsystemscourse.com.
Another solution to partition is to use quorum, with a ‘leader’ having higher precedence and allowed to operate normally if there’s a partition, and ‘followers’ blocked if they can’t see the leader.
Thanks for the insights. In Real world distributed systems, there are usually more than 2 nodes(systems) connected to each other , making each node connected to another one by multiple paths. So do we really need to think about "Partition" ? Cannot we always have Consistent and Available Systems with "Partial Partition Tolerance" ( meaning few paths are not working). Also for Consistent systems do we really need to update all the nodes. More than half would suffice and while reading we can have some logic to make sure System respond with correct response and not obsolete although this will make System slow.
You are correct -- in the real world, your system not only has to deal with partitions, but with partial network failures. I've seen cases where computer A can talk to B, and B to C, but A can't talk to C. It is really annoying. ;-) But in theory if you have a partial failure without a partition, you can still communicate -- so consistency can still be achieved (at least, with enough code...). You can choose to think about the partition case or not, up to you. But if you don't think about it, you are still going to suffer the consequences if a partition does happen. It is perfectly valid to say something like: "I've designed hardware that makes partitions exceptionally unlikely, and I'll just halt the system if one happens."
Best explanation ever! You saved hours of my time.
Good to hear!
Came here to type this only! Well explained. Very good
I have to say, this is by far one of the clearest explanations I've seen (of anything not just of distributed systems). Your ability to convey the idea both simply and elegantly is a real testament to your experience and knowledge of the subject. Thank you for this.
Thank you, that is very kind of you!
The beauty of great explanation is that it is simple yet complete in nature.
Please continue making more such videos related to distributed systems.
Thanks! I have another in the pipeline, but keep on getting distracted by other things. Ahhh, life. :-)
The best explanation of CAP theorem I have got so far. Thank you Sir.
Thanks for the note!
@@DistributedSystems I second this, I constantly search out people who are able to articulate things well to beginners. Bravo sir. Thank you.
What makes this talk more attractive and informative is definitely very clear real life example. Thanks
Thanks!
The best 7 minutes explanation on the internet which tells about CAP theorem easily than those pretentious youtube 30-40 minute videos where you don't get much information than this and end up getting confused too . A Big thank you !!!
Thanks!
Thanks, Chris for the wonderful and simplest explanation of the CAP theorem.
Glad you enjoyed it!
The RUclips algorithm has finally succeeded. I'm glad I found this explanation. The explanation is so clear, to the point and the best part is couple of his videos are explained with a real world example. That's real great!
Bonus: if you've not yet seen his counter strike explanation yet, watch it right away.
Great to hear!
So far, the best explanation on CAP theorem I found, crystal clear explanation.
Wow, thanks!
I have always maintained that using analogy is the best way to explain complex concepts. Kudos!
Thanks!
You are the best teacher on RUclips, I am so glad that I have found your channel
yah he really is!
I am someone who is transitioning to a software engineering career. Very strong at algorithms. Have a google interview coming up and i was told that they would want me to know system design. It was shattering for me because i dont have much confidence in that, and a lot of my surfing has taught me that there is no substitute for real experience. But you, sir, are doing an excellent job. I love you!
Very kind of you, thank you!
By the way, since you are reading the comments and replying. I was wondering if you plan in the future to maybe go over the original legendary papers such as bigtable and gfs, talking about the kind of needs and design decisions that led to it? Not wanting to know confidential things but just an insiders perspective would be very awesome!
I've deliberately avoided topics where I might be tempted to violate my NDA. ;-) Having said that -- the next topic I've been writing notes for is explaining how distributed storage systems work. So you might get a taste of what you are looking for if/when I finish that.
FWIW, GFS (as described in the SOSP paper) is no longer in use inside Google, it has been replaced by a successor called Colossus. It looks like a reasonable overview of Colossus is in this slide deck: www.pdsw.org/pdsw-discs17/slides/PDSW-DISCS-Google-Keynote.pdf
I rarely write comments, but now I have to do it again.
This is the easiest to understand explanation I could find. So cool!
Thank you very much!
Awesome, thank you!
Currently studying an advanced unit of databases at University for a Bachelor of IT and this video presented the concept of the CAP Theorem far better than the University lecturer, well done.
Excellent example, after grappling with this subject for hours I finally got it within a few minutes when you gave the bank example.
Gonna check our the rest of your vids!
Awesome, good to hear!
i looked over different sources to get the proper understanding of this CAP theorem, and by far i can say that this is the Best explanation i've seen. especially when you gave that example of google Docs then the difference between consistency and availability couldn't get any clearer.
thank you so much sir
Thanks!
So glad I found this, I learned so much from you, not just the technical details, but how to keep your viewers engaged.
Thanks, that's really nice of you. :-)
@@DistributedSystems No problem! Can't wait for your next video!
What a nice explanation in only 7 minutes. Thanks !!
You are welcome!
The draws together with the example make the explanation very clear. You are very good very good. Clap clap clap
Thank you! 😃
Awesome explanation with easy-to-understand example. Superb.
Glad you liked it!
Great video about CAP theorem, I now have a better understanding of this concept! I feel you turned on the light in a dark room.
The example - Just wow!
Heartfelt thanks!!
Glad you liked it!
Thank you so much.. After watching so many confusing videos, I found the perfect one!
I was trying to understand cap theorem since years. I understood it finally, thanks to this video.
Glad it was useful!
I read 4 articles before coming here. Salute sir,
Thanks for the understanding and your Audio is clear.
So beautifully explained and the animations just made it better.
Thanks!
Amazing example to understand the complex design paradigm, Salute 🙏
Glad you liked it!
I can't believe that such great explanations exist! Wonderful job!
I can't believe how nice my commenters are (especially given this is RUclips...). Thank you!
Your explanation is amazing thanks!
Thanks!
Wonderful and concise explanation.
Glad you think so!
Liked and subscribed because of the git merge part at 5:41 !
Heh.
Richtig geiler Erklärung des CAP-Theorems! Daumen hoch für dieses tolle Video!
Ich spreche kein deutsch aber ... danke!
Thank you so much! This is so clear and really explains the relevance to me as a software engineer.
Great talk man. Easy to follow and understand
Wow! Incredibly easily explained!!! Thank you!
Thank you!
I like how this guy explains things.
Thanks!
Great explanation and reasoning
That was, in a word, fantastic.
Thank you!
Thank you for a very comprehensive explanation.
Indeed, crystal clear explanation. Looking forward to learn more from you!
Great video, concise, and easy to understand. In a work "Valuable". Thank you.
Glad you enjoyed it!
Just listening to you, I was like Wow....Brilliant explanation. Thanks a ton.
Glad it was helpful!
Save my life. Extremely clear!
Thanks!
Simple and straight explanation. Thanks for sharing your thoughts.
Thanks!
Great video. Explains the concept to the point.
Thank you!
This is just excelent. Thank you very much.
Thanks for making this video, you have explained in detail with a very simple ATM example which everyone could relate to, looking forward to see more of such videos, subscribing
Thanks!
Very well explained. Thank you so much.
Very cleverly put, thank you!
Teaching, like a boss. Thanks a lot.
Glad you think so!
wowwww!!! man!!!! i can listen to this video in a loop... what a nice and neat way of explaining... just awesome...
Thanks a ton!
Thank you for explaining beautifully with a simple and real life use cases. I have seen many sites including one from IBM Cloud just telling what CAP means without any meaningful examples.
You're very welcome!
This explanation is magnificent! You are an amazing teacher!
Thank you! 😃
Fantastic video! Thanks for doing it.
Thanks!
Very clear explanation. Thanks
You are welcome!
Excellent Explanation !!
Glad you liked it!
Brilliant explanation. I have shared it with my folks. Thanks.
Glad it was helpful!
This is the best explanation! Please keep up with the good work!
Thank you!
Wonderful explanation... best i found No need to go further to understand it.. I grabed all
Great!
This is so nice. Thanks for sharing your knowledge
Thanks!
Concise and easy to understand. Thank you for putting this up.
this is as simple as it gets in terms of explaination
Thanks!
This is so good. Thank you for such a simple explanation.
You're very welcome!
So impressive. Well-made video series I think! Thanks so much for your effort :)
I am waiting for next video soon! Hope it will be really 'soon'!
Thanks!
Really good explanation! Thank you so much!
Such a good explaination. Thank you
Glad it was helpful!
I studied economics in college, but this makes me want to go back to school and so CS so bad! Thanks for such a great video!
Glad you found it interesting!
Awesomely explained! Thank you so much!
Glad you enjoyed it!
Great explanation my friend!
Thank you kindly!
Awesome example!. Thank you so much for this!
No problem!
Great explanations, thx! 👍🏽
No problem!
Thanks a lot, finally someone explained it very well.
Glad it helped!
Wow. Amazing explanation! and in 4k!
Turns out that playing with camera equipment and video editors is half the fun of making these videos. :-)
Great explanation, thanks.
You're welcome!
Thank you very much, this has been very useful!
Thank you so much for a great explanation!!
Glad it was helpful!
Best explanation! Thank you.
Glad it was helpful!
You explained this very very well, thank you!
You're very welcome!
Man oh man, this is good!!!
Thanks!
Thanks boss, it was amazing!! Loved it!!!
Glad to hear it!
Thank you sir. I really appreciate
Beautifully explained. Thnq.
So nice of you
Short and good!
Thanks!
Very clear explanation! Thanks!
Thanks!
Excelente explicación !!!!
Gracias!
Thanks! great explanation
Thanks!
Ohh, Great Explanation. Thanks
Thank you, great video
Glad you liked it!
excellent explanation
Glad you liked it!
Perfect Explanation !
Thanks!
Great video!
Thanks!
May I ask about your plans on doing more of these? Perhaps a helping hand?
I'd love to be able to point my current and future less experienced co-workers to these... I was thinking a deeper dive into topics like CQRS, event sourcing, event-driven distributed systems, DDD, system monitoring, distributed logging, containers -- the field is full with interesting stuff... that is often to "copy and paste" and less "stop and think".
Thanks for the offer! I'm working on creating more in the background, but my primary job is to be a stay-at-home dad (and right now, with Covid, apparently a homeschool instructor too). Hopefully I'll get more out soon.
If you want some more stuff to study, I've added a few links at www.distributedsystemscourse.com.
As usual Indian college students preparing for their exams have descended on one of your videos.
Another solution to partition is to use quorum, with a ‘leader’ having higher precedence and allowed to operate normally if there’s a partition, and ‘followers’ blocked if they can’t see the leader.
Wholesome video!!!
Heh. Thanks!
Best explanation eveeeeeeeeeeeeeeer!
Happy it was helpful.
Many thanks. It was interesting.
My pleasure!
Thanks for the insights. In Real world distributed systems, there are usually more than 2 nodes(systems) connected to each other , making each node connected to another one by multiple paths. So do we really need to think about "Partition" ? Cannot we always have Consistent and Available Systems with "Partial Partition Tolerance" ( meaning few paths are not working).
Also for Consistent systems do we really need to update all the nodes. More than half would suffice and while reading we can have some logic to make sure System respond with correct response and not obsolete although this will make System slow.
You are correct -- in the real world, your system not only has to deal with partitions, but with partial network failures. I've seen cases where computer A can talk to B, and B to C, but A can't talk to C. It is really annoying. ;-)
But in theory if you have a partial failure without a partition, you can still communicate -- so consistency can still be achieved (at least, with enough code...).
You can choose to think about the partition case or not, up to you. But if you don't think about it, you are still going to suffer the consequences if a partition does happen. It is perfectly valid to say something like: "I've designed hardware that makes partitions exceptionally unlikely, and I'll just halt the system if one happens."
Una explicación muy buena!
Gracias!