System Design Course for Beginners

Поделиться
HTML-код
  • Опубликовано: 9 янв 2025

Комментарии • 325

  • @GeeksLesson
    @GeeksLesson  4 года назад +121

    ⭐ 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.abhisheksinha
    @the.abhisheksinha 3 года назад +318

    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.

    • @shivakella
      @shivakella 2 года назад +5

      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.

    • @mujahidshaikh5034
      @mujahidshaikh5034 2 года назад

      Okay thanks, will save it to watch later.

    • @hassansyed6087
      @hassansyed6087 4 месяца назад

      The fact that you have so much experience and you're still back here to reinforce your knowledge speaks volumes to your integrity as a professional. I saved this video just because of you

  • @sid6593
    @sid6593 3 года назад +17

    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

  • @smoothruben3637
    @smoothruben3637 3 года назад +54

    This is hands down one of the best overviews on the internet! Thank you!

  • @tapanparida3176
    @tapanparida3176 3 года назад +16

    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….

  • @justwanderin847
    @justwanderin847 2 года назад +3

    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

  • @geoffl
    @geoffl 3 года назад +11

    I was hesitant to spend ~2 hours on this. Glad I did.

  • @sunnilabeouf
    @sunnilabeouf 3 года назад +13

    Never had any thorough exposure to system design, this was really clear and informative. Thank you!

  • @rushabhjshah9138
    @rushabhjshah9138 3 года назад +29

    wow this was great, if only our schools had professors as good as this guy. Straight to point no BS.

  • @node-ks
    @node-ks 2 года назад +13

    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 !

  • @sandeepg
    @sandeepg 2 года назад +4

    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 :-)

  • @rohankm
    @rohankm 2 года назад

    Best system design video on RUclips. It’s a hidden gem.

  • @cambellajoe
    @cambellajoe 2 года назад +1

    I have worked with Distributed systems for a while, this video puts everything into perspective. Thank you for this.

  • @souravkar4867
    @souravkar4867 3 года назад +5

    The is one of the best tutorials on system design concepts. This is not only for beginners but for everyone in IT. Thank You.

  • @AbhiR-fx6md
    @AbhiR-fx6md 4 месяца назад

    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.

  • @cooldudecs
    @cooldudecs 3 года назад +27

    God bless this timeline. The democratization of information is no longer monopolized by universities

  • @diane6863
    @diane6863 2 года назад +2

    Wow, I have a systems design interview tomorrow, great refresher!!!

  • @stephena.olujare6512
    @stephena.olujare6512 Год назад +1

    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.

  • @renaissanceengineer
    @renaissanceengineer 4 года назад +31

    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!

    • @amaryadav8703
      @amaryadav8703 3 года назад

      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!

  • @farmanshaikh777
    @farmanshaikh777 2 года назад

    This is the 'hello world' of System Designs. hands down brilliant.

  • @kingofqwerty
    @kingofqwerty 2 года назад +8

    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!

  • @guez
    @guez 2 года назад +1

    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!

  • @awasonia
    @awasonia 2 года назад

    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.

  • @yoDQ
    @yoDQ 2 года назад +4

    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.

  • @thesuperiorman8342
    @thesuperiorman8342 3 года назад +56

    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?

  • @exaliaos
    @exaliaos 3 года назад +26

    I wish this video existed before I had Google interviews in 2020, would've helped tremendously! Thanks for the great explanations :)

    • @francischempa6418
      @francischempa6418 3 года назад +2

      Wish me luck.

    • @jeffb587
      @jeffb587 3 года назад

      @@francischempa6418 how'd it go?

    • @francischempa6418
      @francischempa6418 3 года назад +4

      @@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.

    • @jeffb587
      @jeffb587 3 года назад +1

      @@francischempa6418 good luck!

    • @francischempa6418
      @francischempa6418 2 года назад

      Finished System design round last two days. Fingers crossed 🤞

  • @dijoxx
    @dijoxx 3 года назад +10

    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.

  • @Evicreates
    @Evicreates Год назад

    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

  • @hitman_mz
    @hitman_mz 2 года назад +3

    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!

  • @gameplayer1980
    @gameplayer1980 2 года назад +1

    That library analogy was lovely

  • @pratimaadhikari7207
    @pratimaadhikari7207 2 года назад

    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. 😃

  • @shreyasatre
    @shreyasatre 2 года назад +7

    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!

  • @edintosh
    @edintosh 2 года назад

    The best system design overview i've seen. Thank you for making this video.

  • @devjeff3192
    @devjeff3192 3 года назад +1

    One of the best System Design courses ever!!! Thank you so much for this lit content

  • @JennyyDang
    @JennyyDang 2 года назад +6

    I loved this video. Super clear and understandable. I'm a visual learner soo the images 100% helped!

  • @CloudA2Z
    @CloudA2Z 2 года назад +1

    Thanks for preparing a complete pack of data on system design in a single video :)

  • @jairaj2122
    @jairaj2122 2 года назад +2

    Wow, as a begineer that was really a nice start(:

  • @asgard2054
    @asgard2054 3 года назад +6

    Great video! Thought that I knew system design well, but actually I didn't. Tons of interesting information! Thanks for making this video.

  • @Ra123Ra
    @Ra123Ra 2 года назад

    This is the best system design video I’ve seen, fantastic job presenting!

  • @snehabhat4876
    @snehabhat4876 2 года назад +2

    I like how you sound bored but the tutorial is so informative and easy to understand.

  • @boscodomingo
    @boscodomingo 2 года назад +2

    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 ;)

  • @TheBrainium
    @TheBrainium 2 года назад +4

    For the memory estimate 32:00, why is the average request size only 500B compared to the Bandwidth estimate at 1.5MB? You mentioned instagram as the example here, so do you not keep the 20% "hot" image data in memory as well?

  • @jasper5016
    @jasper5016 2 года назад

    This one video is enough for me to crack System Design interview. Thanks a lot

  • @wangsonny8694
    @wangsonny8694 3 года назад +2

    thanks for sharing this great introduction material!

  • @ramanamachireddy
    @ramanamachireddy 6 месяцев назад

    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.

  • @Danny-we4vz
    @Danny-we4vz 3 года назад +8

    Man this is a solid lecture, thank you so much!

  • @stevenmorales2501
    @stevenmorales2501 3 года назад +2

    Wow was this helpful. Thank you for a great course.

  • @justonegoodtrade
    @justonegoodtrade 2 года назад +1

    Truly this is a such a great primer. Thank you for this!

  • @irocx8745
    @irocx8745 3 года назад +2

    Great intro to System Design for beginners 💯

  • @dannyelstein
    @dannyelstein 2 года назад +7

    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.

  • @lynnalhaimy
    @lynnalhaimy 2 года назад

    This was the most informative video I have ever watched. Thank you for putting this up!

  • @samrey8134
    @samrey8134 3 года назад

    We appreciate you and Love you man.... THANK you. The perfect Tool for my next interview.

  • @vijayabhaskararaodarsi273
    @vijayabhaskararaodarsi273 3 года назад

    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.

  • @Ozarif
    @Ozarif 3 года назад +3

    Great video! Very focused to the point.
    Many thanks for you for the great explanations.

  • @lembani
    @lembani 2 года назад +1

    Awesome and comprehensive lesson! Thanks a lot.

  • @majid_devops
    @majid_devops Год назад +1

    This video is a masterpiece, thanks mate ^_^

  • @mallikbulusu33
    @mallikbulusu33 2 года назад

    beautiful tour of distributed system design

  • @KamalMettananda
    @KamalMettananda Год назад +1

    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.

  • @eshab9777
    @eshab9777 2 года назад +2

    This was such a great lesson!!!! Thank you so much. Great job at being concise and using simple examples!

  • @cunningham.s_law
    @cunningham.s_law 4 года назад +9

    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

  • @ahmadmohamad8416
    @ahmadmohamad8416 Год назад +1

    this course is so good, good job

  • @vaibhavlabhane9979
    @vaibhavlabhane9979 2 года назад

    Thanks Geek's Lesson for such an amazing video covering all system design concepts !

  • @Elite54.
    @Elite54. 2 года назад

    thanks for taking the time to make this great video for us. I really enjoyed watching it. You make a great teacher.

  • @shashankrao23
    @shashankrao23 2 года назад

    awesome stuff, 2 hrs felt like 30 mins fine teaching

  • @Aziz-jr3kq
    @Aziz-jr3kq 3 года назад

    I have an interview about this topic tomorrow, I guess I will survive.
    Thank you very much

  • @teakodo
    @teakodo 3 года назад +2

    got an amazon interview coming up, I will apply this knowledge. Thank you

    • @o-super2744
      @o-super2744 3 года назад

      How went your interview? :-)

    • @shalsteven
      @shalsteven 3 года назад

      Did you manage it?

    • @22vah
      @22vah 2 года назад

      Yeah, we haven't heard back from you... Did you get the job? 👀

  • @Protocat112
    @Protocat112 2 года назад

    1:28:40 could we not be using a NOSQL database here instead of a RDMS? Surely strong consistency is not an absolute requirement at the database level (as long as you had some kind of clean up job running, to eventually tidy up the data every so often). And then you'd get all the horizontal scaling benefits of NOSQL. Please correct me if I'm wrong!

  • @litingzhang5678
    @litingzhang5678 2 года назад +1

    I love this introduction, thank you,

  • @viditwalia7790
    @viditwalia7790 3 года назад

    first thirty minutes i am just following u, but after that i loved it till the end.. , Good job 👌👌

  • @haocherhong
    @haocherhong 2 года назад

    1:01:02 I believe you want to pop the cache first so users won't see wrong data if popping failed?
    if you pop after db_update and pop failed, user see cached data which is wrong.
    If you pop first and db_update later, it doesn't matter if db_update failed because they will just have to retrieve data from db and still get the correct result.
    Am I correct?

  • @GiridharVedula
    @GiridharVedula 3 года назад +4

    Awesome, i'm going to make a PPT based on this for my upcoming presentation.

  • @Daniel-ch52
    @Daniel-ch52 2 года назад

    Wowwwww, I don't have anything more to say, you are doing such a great job explaining this I'm still shocked

  • @warpathh
    @warpathh 2 года назад +1

    Nailed it man. Awesome

  • @BrijeshBolar79
    @BrijeshBolar79 3 года назад +1

    Thanks for this wonderful video. Detailed and easily understandable. Thanks for sharing

  • @genuineprofile6400
    @genuineprofile6400 2 года назад +3

    System design from the ground up. Absolutely amazing content.

  • @VincentStevenson
    @VincentStevenson 3 года назад +1

    Thank you so much for this video - it has been a great resource to help understand system design.

  • @antinoise5147
    @antinoise5147 2 года назад

    Amazing, this video taught me a lot of knowleage. Thank you

  • @sajeshkariadan4997
    @sajeshkariadan4997 Год назад +1

    Great stuff, thanks!

  • @ronifintech9434
    @ronifintech9434 2 года назад

    very structured and straight to the point video! thank you!

  • @erixgutierrez6552
    @erixgutierrez6552 4 года назад +6

    I was just looking for this in google literally a minute before you posted it xD

    • @GeeksLesson
      @GeeksLesson  4 года назад

      Thanks for your feedback on this system design course. Let us know how does it help you.

    • @mirsahib596
      @mirsahib596 4 года назад +1

      Dude you just stole my comment
      thank geek's lesson for this awesome upload

  • @ojogylych1593
    @ojogylych1593 3 года назад +60

    Super job! If only it was a bit louder. Thanks bro.

  • @silambarasan.ssethu9367
    @silambarasan.ssethu9367 3 года назад

    Absolutely great video. Shows ur great talent.This is the video every program should see for system design knowledge

  • @sanjaykumaragarwal6033
    @sanjaykumaragarwal6033 2 года назад +1

    Absolutely great video, loved watching this, please make more such videos on designing distributed systems etc.

  • @antonfernando8409
    @antonfernando8409 3 года назад

    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.

  • @abhibhatta1
    @abhibhatta1 2 года назад

    The RUclips design at the end was extremely basic and could improve immensely. Other than that it was a really concise and impressive introduction.

  • @tsaregrad
    @tsaregrad 2 года назад

    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.

  • @jordanblount9574
    @jordanblount9574 2 года назад +1

    Such a good video. Thanks!

  • @amarshukla07
    @amarshukla07 3 года назад

    Your explanation was so good and side by side you gave insights as well.
    Thanks

  • @manojbgm
    @manojbgm 3 года назад +1

    Great video, very easy to understand and examples will help me to remember things very easily.

  • @amaryadav8703
    @amaryadav8703 3 года назад

    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.

  • @NathanZheng
    @NathanZheng 3 года назад +2

    Great content! Very clearly explained with good examples! Thank you!

  • @prateekjoshi199
    @prateekjoshi199 2 года назад +1

    34:12, 1 MB (Photo) + 500 B (meta data) should be 1.05 MB ?

  • @Satyam_singh18
    @Satyam_singh18 4 года назад +3

    Thank you for this course..

  • @tyagianujk
    @tyagianujk 2 года назад

    Thank you for posting this amazing video!

  • @ulysses_grant
    @ulysses_grant 4 года назад

    I was thinking about studying this topic just yesterday at evening, and today when I open my YT account... BANG. Thank you for posting this.

  • @ivelaye
    @ivelaye 3 года назад

    the best video !! i have been looking for this kind of overview!! many thanks

  • @sunny-14689
    @sunny-14689 2 года назад +1

    In RUclips example, where does API gateway fit in ? Would it be in between CDN and webserver or before CDN or anywhere else?

  • @hannnah689
    @hannnah689 3 года назад +1

    thanks for sharing, super helpful!

  • @umamaheswarar819
    @umamaheswarar819 3 года назад

    Very helpful to understand what goes into system design. Thanks

  • @saim8561
    @saim8561 3 года назад +1

    Thank you .This is so useful.