⭐ Table of Contents ⭐ Visit: ruclips.net/channel/UCzYV9nBadlQdBMPP2ZuDvKA 0:00 Intro 1:20 What are distributed systems 10:14 Performance metrics for system design 20:05 Back of envelope math 36:49 Horizontal vs Vertical scaling 45:02 Load balancers 53:25 Caching 1:10:50 Database Design and Scaling 1:22:50 System Design Interview Question
One of the best videos I have ever seen on System design concepts .... I have 17 years of experience working in IT and 6 years as a solutions Architect but have not seen such a simple yet detailed lecture on System Design.. I will recommend this video to everyone. Cheers.
Dear Abhishek, your comment has convinced my wandering mind to do this course. Thanks for your comment, never underestimate what your voice can do. All the best for your career sir.
Books I liked: The Practical Guide to Structured Systems Design - Meilir Page-Jones; Modern Structured Analysis - Edward Yourdon; Complete Systems Analysis - James & Suzanne Robertson; Developing Structured Systems - Brian Dickinson. Old School
I wish there was an option for 100s of likes…this is too good to the core.. I would recommend everyone in IT to watch this or this kind of videos…keep up the good work….
big thanks to Geek's Lesson for publishing this on their channel. If you have any suggestions to improve or video topics you'd like to see covered let me know! I plan on posting a lot more tutorials related to system design and architecture, as well as more detailed videos on specific components. So be sure to subscribe if you are interested!
You, sir, are an excellent teacher. I wish we had people like you in my college. I have a few questions regarding this video: In the plane example, I think you meant: For covering up availability*, we can have a fleet of airplanes that can be substituted with each other whenever maintenance is required. But the top priority is that each plane must be reliable.... and in the case of Memory estimates for the Instagram-like service, is 500 bytes the request payload size or the response? If it's request payload, which I think it should be, it doesn't make sense to cache what you receive in the request, but rather the data that will be sent back. Please correct me if I'm wrong. Apart from that, this is THE BEST video for beginners like me. Thank you so much for this!
The only foundational video you need to understand all the different components of system design. I reccommend this video to understand the concept and thinking/reasoning behind every component which "Geek's Lesson" has done exceptionally well. There are many videos in RUclips today, no video with multiple million views addresses end to end like this video. Thanks for creating and sharing this! Very Helpful! I subscribed so that I get the recommendations next time. This video was a hard find.
Thank you so much for this video, I had no idea where to start in terms of learning system design and I'm glad I stopped here first.This was such a clear and concise way of introducing these essential topics and I feel a lot better with my understanding. I am going to rewatch it now and practice my own mock designs. You are incredible, please keep up the good work !
Speaking as someone who successfully passed these interviews and got multiple offers for senior engineer roles from FAANG: This video is a much better introduction to system design interviews than perhaps any other I watched on RUclips. That being said, your actual design for a RUclips clone is a bit far from what would I would consider acceptable. A few of the problems I can see are: - First of all, CDN by itself does NOT just direct you to the nearest web server. That's absolutely not how a CDN works. You may use it to serve videos and other static content, but it is never located in front of a web server and it rarely acts with it. - The web server does NOT act as a load balancer. Your load balancers should have been in front of your web servers. - For a site like this, you would NOT have monolithic "app server"s as you proposed, but servers with multiple or combined roles that would take care of individual functionalities of your system in a decoupled manner. - You likewise need need different queues for different functionalities. - You also have not talked about how you would store and cache the data, how you would process the videos, and other nitty gritty.
Best way to start refreshing the basic system design concepts. One can individually learn these concepts by going through multiple videos and links, however, this video summarizes everything toegther. Thanks for all the efforts, really appreciate the work :-)
Thank you so much for this tutorial! I just like the fact that you take your time explaining every single terminology without haste. Best tutorial i have ever seen. I am subscribing to your channel real quick.
This was an excellent lecture. I hope you will adjust the audio better in the future because it was really set too low and I had to max out volume to be able to hear it clearly. Again though, great effort and you really accomplished your objective!
This is excellent content. The video is packed with information that is presented very clearly and succinctly. I cannot thank you enough. I learnt so much and actually took notes which I don't usually do. The quality is excellent. BTW you give a lot of twitter examples. Have you worked for twitter?
Thank you for the review! Broad yet simple and succinct. Suggest increasing your recording audio as it was a bit low for anything other than headphones, even on the highest volume for my iphone 12 max pro.
wow... this is by far the best intro (and a bit more) that I found about System Design, many thanks for time invested doing this... It is really appreciated!
This is an excellent video that explains the basics of a system design. A lot of topics are covered well, and examples are provided about each category to make it easy to understand. Thanks for the lesson!
Thanks for such a nice video on the system design basics. It was conveyed in a simple language and easy to understand. Thanks for your great efforts and continue this great work.
One of the best lectures on system design out there. Please follow this lecture if you are overwhelmed by the number of resources all over RUclips and the internet. After that focus on solving system design problems. Eventually, you can learn other advanced topics or explore all these components deeper as time goes by. Thank you for creating such a simple yet effective resource. 😃
Thank you so much for this - im not a software engineer and i wanted to understand basics as a product owner and i got it and was so engaged. Thank you again
Wow! This was a great video. I was looking for a good resource to give a high-level idea about system design for a long time and this was fantastic! Thank you!
Excellent video 👍 Well explained and seems thorough. Could be a bit louder - I turned my volume all the way up and it was still a bit too low for me. Very helpful nonetheless.
this is great content thanks it seems like design interviews are going the same route as algo interviews because of Goodhart's law these interviews become gamified and lose their initial purpose in evaluating candidates
Thanks a lot for the simplification of the ideas, specially on the way the trade offs in distributed systems. Generally people get confused about achieving the higher throughput or keeping 100% consistency while looking for ACID properties and keeping the cost to a minimum. However, I really like the way to explain the trade offs, so that someone picking some special property can understand what are the properties that will be lost during the process.
Capacity estimation for storage is approximate values not absolute numbers. Many thanks for the video on system design. Few managers in IT companies stress for absolute values for storage estimation. They are wrong. Thanks for the video, its indeed the great video on system design.
Great starting guide for beginners. A couple improvements I would make are how slow you speak (had to watch at 2.7x lol) and at 28:20: 1 kilobyte is in fact 1000 B, and 1 Kibibyte (KiB) is 2¹⁰ or 1024 B. 'Kilo' is Greek for thousand, and the SI determines that a kilo of whatever is a thousand units. Also I missed Resiliency as a performance metric for systems. Other than that, ty for such awesome, free information ;)
kinda wish you spoke louder. 37 mins in ... pretty good content so far ... thanks for running through some of the things people should be thinking about before putting their energy into new products or features ... edit: one suggestion - maybe swap caching and db scaling because caching is a db scaling technique at the end of the day.
In the plane example, I think you meant: For covering up availability*, we can have a fleet of airplanes that can be substituted with each other whenever maintenance is required. But the top priority is that each plane must be reliable.... and in the case of Memory estimates for the Instagram-like service, is 500 bytes the request payload size or the response? If it's request payload, which I think it should be, it doesn't make sense to cache what you receive in the request, but rather the data that will be sent back. Please correct me if I'm wrong. Apart from that, this is THE BEST videos for beginners like me.
Nice video with basics. Regarding RUclips clone, as an interviewer I would definitely question the idea of putting likes/dislikes into the same table (or even db). This information would be constantly updated, while everything else would almost never update.
⭐ Table of Contents ⭐
Visit: ruclips.net/channel/UCzYV9nBadlQdBMPP2ZuDvKA
0:00 Intro
1:20 What are distributed systems
10:14 Performance metrics for system design
20:05 Back of envelope math
36:49 Horizontal vs Vertical scaling
45:02 Load balancers
53:25 Caching
1:10:50 Database Design and Scaling
1:22:50 System Design Interview Question
the sound is really baaaad
Thanks 😊
you lmmm.zzz k ?kz
One of the best videos I have ever seen on System design concepts .... I have 17 years of experience working in IT and 6 years as a solutions Architect but have not seen such a simple yet detailed lecture on System Design.. I will recommend this video to everyone. Cheers.
Dear Abhishek, your comment has convinced my wandering mind to do this course. Thanks for your comment, never underestimate what your voice can do. All the best for your career sir.
Okay thanks, will save it to watch later.
I don't like that this video isn't at the top of the search results. This is such a good resource for preparing for interviews
Books I liked: The Practical Guide to Structured Systems Design - Meilir Page-Jones; Modern Structured Analysis - Edward Yourdon; Complete Systems Analysis - James & Suzanne Robertson; Developing Structured Systems - Brian Dickinson. Old School
This is hands down one of the best overviews on the internet! Thank you!
I wish there was an option for 100s of likes…this is too good to the core.. I would recommend everyone in IT to watch this or this kind of videos…keep up the good work….
I was hesitant to spend ~2 hours on this. Glad I did.
big thanks to Geek's Lesson for publishing this on their channel. If you have any suggestions to improve or video topics you'd like to see covered let me know! I plan on posting a lot more tutorials related to system design and architecture, as well as more detailed videos on specific components. So be sure to subscribe if you are interested!
You, sir, are an excellent teacher. I wish we had people like you in my college. I have a few questions regarding this video: In the plane example, I think you meant: For covering up availability*, we can have a fleet of airplanes that can be substituted with each other whenever maintenance is required. But the top priority is that each plane must be reliable.... and in the case of Memory estimates for the Instagram-like service, is 500 bytes the request payload size or the response? If it's request payload, which I think it should be, it doesn't make sense to cache what you receive in the request, but rather the data that will be sent back. Please correct me if I'm wrong.
Apart from that, this is THE BEST video for beginners like me. Thank you so much for this!
God bless this timeline. The democratization of information is no longer monopolized by universities
The only foundational video you need to understand all the different components of system design. I reccommend this video to understand the concept and thinking/reasoning behind every component which "Geek's Lesson" has done exceptionally well. There are many videos in RUclips today, no video with multiple million views addresses end to end like this video. Thanks for creating and sharing this! Very Helpful! I subscribed so that I get the recommendations next time. This video was a hard find.
Never had any thorough exposure to system design, this was really clear and informative. Thank you!
Thank you so much for this video, I had no idea where to start in terms of learning system design and I'm glad I stopped here first.This was such a clear and concise way of introducing these essential topics and I feel a lot better with my understanding. I am going to rewatch it now and practice my own mock designs. You are incredible, please keep up the good work !
wow this was great, if only our schools had professors as good as this guy. Straight to point no BS.
Speaking as someone who successfully passed these interviews and got multiple offers for senior engineer roles from FAANG:
This video is a much better introduction to system design interviews than perhaps any other I watched on RUclips. That being said, your actual design for a RUclips clone is a bit far from what would I would consider acceptable. A few of the problems I can see are:
- First of all, CDN by itself does NOT just direct you to the nearest web server. That's absolutely not how a CDN works. You may use it to serve videos and other static content, but it is never located in front of a web server and it rarely acts with it.
- The web server does NOT act as a load balancer. Your load balancers should have been in front of your web servers.
- For a site like this, you would NOT have monolithic "app server"s as you proposed, but servers with multiple or combined roles that would take care of individual functionalities of your system in a decoupled manner.
- You likewise need need different queues for different functionalities.
- You also have not talked about how you would store and cache the data, how you would process the videos, and other nitty gritty.
The is one of the best tutorials on system design concepts. This is not only for beginners but for everyone in IT. Thank You.
Best way to start refreshing the basic system design concepts. One can individually learn these concepts by going through multiple videos and links, however, this video summarizes everything toegther. Thanks for all the efforts, really appreciate the work :-)
Thank you so much for this tutorial! I just like the fact that you take your time explaining every single terminology without haste. Best tutorial i have ever seen. I am subscribing to your channel real quick.
I have worked with Distributed systems for a while, this video puts everything into perspective. Thank you for this.
This was an excellent lecture. I hope you will adjust the audio better in the future because it was really set too low and I had to max out volume to be able to hear it clearly. Again though, great effort and you really accomplished your objective!
I wish this video existed before I had Google interviews in 2020, would've helped tremendously! Thanks for the great explanations :)
Wish me luck.
@@francischempa6418 how'd it go?
@@jeffb587 I failed right at the first phone interview. Got a another FAANG interview and I am at the second stage now. Wish me luck.
@@francischempa6418 good luck!
Finished System design round last two days. Fingers crossed 🤞
Wow, I have a systems design interview tomorrow, great refresher!!!
Best system design video on RUclips. It’s a hidden gem.
This is excellent content. The video is packed with information that is presented very clearly and succinctly. I cannot thank you enough. I learnt so much and actually took notes which I don't usually do. The quality is excellent.
BTW you give a lot of twitter examples. Have you worked for twitter?
Thank you for the review! Broad yet simple and succinct. Suggest increasing your recording audio as it was a bit low for anything other than headphones, even on the highest volume for my iphone 12 max pro.
That library analogy was lovely
wow... this is by far the best intro (and a bit more) that I found about System Design, many thanks for time invested doing this... It is really appreciated!
This is an excellent video that explains the basics of a system design. A lot of topics are covered well, and examples are provided about each category to make it easy to understand. Thanks for the lesson!
This is the 'hello world' of System Designs. hands down brilliant.
Thanks for preparing a complete pack of data on system design in a single video :)
Thanks for such a nice video on the system design basics. It was conveyed in a simple language and easy to understand. Thanks for your great efforts and continue this great work.
This Video is the best video I have seen on Distributed Systems Design yet. Thank you very much for this. I look forward to learning more from you.
One of the best lectures on system design out there. Please follow this lecture if you are overwhelmed by the number of resources all over RUclips and the internet. After that focus on solving system design problems. Eventually, you can learn other advanced topics or explore all these components deeper as time goes by. Thank you for creating such a simple yet effective resource. 😃
Thank you so much for this - im not a software engineer and i wanted to understand basics as a product owner and i got it and was so engaged. Thank you again
Wow! This was a great video. I was looking for a good resource to give a high-level idea about system design for a long time and this was fantastic! Thank you!
I like how you sound bored but the tutorial is so informative and easy to understand.
Great stuff, thanks!
Super job! If only it was a bit louder. Thanks bro.
That's what she said
I loved this video. Super clear and understandable. I'm a visual learner soo the images 100% helped!
Excellent video 👍 Well explained and seems thorough. Could be a bit louder - I turned my volume all the way up and it was still a bit too low for me. Very helpful nonetheless.
Great video! Thought that I knew system design well, but actually I didn't. Tons of interesting information! Thanks for making this video.
thanks for sharing this great introduction material!
Truly this is a such a great primer. Thank you for this!
The best system design overview i've seen. Thank you for making this video.
this is great content thanks
it seems like design interviews are going the same route as algo interviews
because of Goodhart's law these interviews become gamified and lose their initial purpose in evaluating candidates
Wow I had no idea there was a law like this out there! Thank you
One of the best System Design courses ever!!! Thank you so much for this lit content
Wow, as a begineer that was really a nice start(:
Great intro to System Design for beginners 💯
Man this is a solid lecture, thank you so much!
Thanks a lot for the simplification of the ideas, specially on the way the trade offs in distributed systems. Generally people get confused about achieving the higher throughput or keeping 100% consistency while looking for ACID properties and keeping the cost to a minimum. However, I really like the way to explain the trade offs, so that someone picking some special property can understand what are the properties that will be lost during the process.
I was just looking for this in google literally a minute before you posted it xD
Thanks for your feedback on this system design course. Let us know how does it help you.
Dude you just stole my comment
thank geek's lesson for this awesome upload
This is the best system design video I’ve seen, fantastic job presenting!
Wow was this helpful. Thank you for a great course.
got an amazon interview coming up, I will apply this knowledge. Thank you
How went your interview? :-)
Did you manage it?
Yeah, we haven't heard back from you... Did you get the job? 👀
Amazing, this video taught me a lot of knowleage. Thank you
this course is so good, good job
beautiful tour of distributed system design
Great video! Very focused to the point.
Many thanks for you for the great explanations.
Capacity estimation for storage is approximate values not absolute numbers. Many thanks
for the video on system design. Few managers in IT companies stress for absolute values for storage estimation. They are wrong. Thanks for the video, its indeed the great video on system design.
Great starting guide for beginners. A couple improvements I would make are how slow you speak (had to watch at 2.7x lol) and at 28:20: 1 kilobyte is in fact 1000 B, and 1 Kibibyte (KiB) is 2¹⁰ or 1024 B. 'Kilo' is Greek for thousand, and the SI determines that a kilo of whatever is a thousand units. Also I missed Resiliency as a performance metric for systems. Other than that, ty for such awesome, free information ;)
This was such a great lesson!!!! Thank you so much. Great job at being concise and using simple examples!
This one video is enough for me to crack System Design interview. Thanks a lot
I love this introduction, thank you,
This video is a masterpiece, thanks mate ^_^
Awesome, i'm going to make a PPT based on this for my upcoming presentation.
Do share it if you make it!
@@karanrathod1355 drop your email here
kinda wish you spoke louder. 37 mins in ... pretty good content so far ... thanks for running through some of the things people should be thinking about before putting their energy into new products or features ...
edit: one suggestion - maybe swap caching and db scaling because caching is a db scaling technique at the end of the day.
Thank you so much for this video - it has been a great resource to help understand system design.
pretty cool, as an embedded s/w developer, I dont' see myself in system wide designs like this, so its get this perspective, lot to learn here.
We appreciate you and Love you man.... THANK you. The perfect Tool for my next interview.
Awesome and comprehensive lesson! Thanks a lot.
Thank you for this great tutorial !
Excellent presentation 👏
Wowwwww, I don't have anything more to say, you are doing such a great job explaining this I'm still shocked
Nailed it man. Awesome
Beautifully explained 👍🏾🙌🏾
Such a good video. Thanks!
This was the most informative video I have ever watched. Thank you for putting this up!
I have an interview about this topic tomorrow, I guess I will survive.
Thank you very much
first thirty minutes i am just following u, but after that i loved it till the end.. , Good job 👌👌
The RUclips design at the end was extremely basic and could improve immensely. Other than that it was a really concise and impressive introduction.
my brain is hot after watching this...great content though!
Thank you for this course..
You are welcome
In the plane example, I think you meant: For covering up availability*, we can have a fleet of airplanes that can be substituted with each other whenever maintenance is required. But the top priority is that each plane must be reliable.... and in the case of Memory estimates for the Instagram-like service, is 500 bytes the request payload size or the response? If it's request payload, which I think it should be, it doesn't make sense to cache what you receive in the request, but rather the data that will be sent back. Please correct me if I'm wrong.
Apart from that, this is THE BEST videos for beginners like me.
thanks for taking the time to make this great video for us. I really enjoyed watching it. You make a great teacher.
God bless you sir 👏
Thanks Geek's Lesson for such an amazing video covering all system design concepts !
Great content! Very clearly explained with good examples! Thank you!
very structured and straight to the point video! thank you!
Nice video with basics. Regarding RUclips clone, as an interviewer I would definitely question the idea of putting likes/dislikes into the same table (or even db). This information would be constantly updated, while everything else would almost never update.
Thanks for this wonderful video. Detailed and easily understandable. Thanks for sharing
awesome stuff, 2 hrs felt like 30 mins fine teaching
Super awesome!! This is so simple yet so insightful.Thanks a ton.
Thanks
System design from the ground up. Absolutely amazing content.
Absolutely great video, loved watching this, please make more such videos on designing distributed systems etc.
Amazing video
Great help. 😊😊
Thanks a lot. Great lesson.
thanks for sharing, super helpful!
Thank you .This is so useful.
Thank you for posting this amazing video!