System Design Full Tutorial for Beginners | Learn System Design from Scratch | System Architecture

Поділитися
Вставка
  • Опубліковано 17 бер 2022
  • We at Scaler present to you a comprehensive course on System Design. Learn System Design from scratch with the help of this detailed tutorial. Learn more about Scaler now: hwww.scaler.com/events?...
    What is System Design?
    System design is the process of designing the elements of a system such as the architecture, modules and components, the different interfaces of those components and the data that goes through that system. Major tasks performed during the system design process are initialising design definition, establishing design characteristics, assessing alternatives for obtaining system elements and managing the design.
    🔹 What is horizontal scaling and vertical scaling?
    With vertical scaling (a.k.a. “scaling up”), you're adding more power to your existing machine. In horizontal scaling (a.k.a. “scaling out”), you get the additional resources into your system by adding more machines to your network, sharing the processing and memory workload across multiple devices.
    In this video, we shall understand the difference between horizontal scaling and vertical scaling through the example of "Delicious" website. Delicious started as a college project but scaled out to more than 5M users with the concept of horizontal scaling.
    What is hashing?
    In computer science, consistent hashing is a special kind of hashing technique such that when a hash table is resized, only keys need to be remapped on average where is the number of keys and. is the number of slots. Consistent hashing solves the problem of rehashing by providing a distribution scheme which does not directly depend on the number of servers. In consistent hashing when a server is removed or added then the only keys from that server are relocated.
    What is a load balancing?
    Load balancers are used to increase capacity and reliability of applications. They improve the overall performance of applications by decreasing the burden on servers associated with managing and maintaining application and network sessions, as well as by performing application-specific tasks.
    🔹What is cache?
    A cache's primary purpose is to increase data retrieval performance by reducing the need to access the underlying slower storage layer. Trading off capacity for speed, a cache typically stores a subset of data transiently, in contrast to databases whose data is usually complete and durable.
    --------------------------------------- About SCALER -------------------------------------------------
    We are a tech-focused upskilling and reskilling platform catering to tech enthusiasts in universities and working professionals. There are more Scaler graduates working at Amazon than all of the IITs combined!
    Learn more about Scaler: bit.ly/3ph1Dij
    📌 Follow us on Social and be a part of an amazing tech community 📌
    👉 Meet like-minded coder folks on Discord - / discord
    👉 Tweets you cannot afford to miss out on - / scaler_official
    👉 Check out student success stories, expert opinions, and live classes on LinkedIn - / scalerofficial
    👉 Explore value packed reels, carousels and get access to exclusive updates on Instagram - / scaler_official
    📢 Be a part of our one of a kind telegram community: t.me/Scalercommunity
    🔔 Hit that bell icon to get notified of all our new videos 🔔
    If you liked this video, please don't forget to like and comment. Never miss out on our exclusive videos to help boost your coding career! Subscribe to Scaler now!
    ua-cam.com/users/Scaler?sub_co...
    #systemdesign #interviewprep #coding #SCALER

КОМЕНТАРІ • 68

  • @SCALER
    @SCALER  2 роки тому +4

    Got a question? Feel free to drop them in the comments below! We make sure all your queries are answered. If you don't want to miss out on exclusive content, hit the subscribe button and turn on the notifications as well.
    Learn more about Scaler now: bit.ly/3uccvMW

    • @TeaBreakKitchen
      @TeaBreakKitchen 2 роки тому +1

      I request to start with answer of what is the purpose? where can it be used? Who will be benefited? Minimum requirements to be known to start?

    • @neiln3553
      @neiln3553 2 роки тому

      Hi, Can i learn coding from ur academy while studying my Electronic Engineering?

  • @nikmalik7
    @nikmalik7 Рік тому +67

    Intro of course (u can skip)
    MVP Design example (User/ Blog/ Comment) 1:01
    Horizontal vs Vertical Scaling 13:24
    - DNS 14:17
    - Load balancing 19:58
    -- Load distribution algo 31:58
    Stateless vs Stateful Systems 37:09
    - Load balancing in stateful systems (Pubg) 42:42
    Consistent hashing 50:17
    What is Caching? 54:54
    CAP Theorem 1:05:07
    System Design interview questions (Short url generator) 1:17:42
    System Design Mock Interview (google search) 2:02:41
    Q&A 3:06:00

  • @Bhavin-Desai
    @Bhavin-Desai 2 роки тому +56

    Divide your videos in chapter timestamp for easy navigation. That would be more helpful for videos longer than 20 minutes

  • @sitanshugupta9600
    @sitanshugupta9600 2 роки тому +2

    These are really good videos. Thank you!

  • @chandrachoodR
    @chandrachoodR 2 роки тому +3

    Thanks for sharing very insightful

  • @raghuljegan2535
    @raghuljegan2535 2 роки тому +1

    Great content. Really helpful.

  • @curiossoul
    @curiossoul Рік тому +8

    Just 26 minutes into it and I couldn't resist adding a comment to appreciate and thank Scalar and Mohit for this wonderful content. Amazing material 👍👍👍

    • @_ipublic
      @_ipublic Рік тому

      Well played 😂🤣🤣🤣🤣

    • @illuminatidaylight8566
      @illuminatidaylight8566 Рік тому

      Is this really a good video to watch??
      I want to get placed as software Engineer should I watch this ??

    • @amanmishra-vt8hk
      @amanmishra-vt8hk 3 місяці тому

      @@illuminatidaylight8566 melody khao aur khud jaan jao

  • @NaveenBavuOfficial
    @NaveenBavuOfficial Рік тому

    the best content Thank you whole team

  • @aakashpothepalli
    @aakashpothepalli Рік тому +8

    Thank you so much for this!
    Because of this video I was able to crack system design interview and eventually got placed at Atlassian 🙌

  • @susantachary7456
    @susantachary7456 2 роки тому +1

    Lovely .

  • @damilola_adegunwa
    @damilola_adegunwa 2 роки тому +1

    I'm sure the sound can be better... thank you guys for the content

  • @debashishchakraborty7524
    @debashishchakraborty7524 2 роки тому +2

    Apart from the cost of the course...this guy in an immensely intelligent guy...for sure ll crack top companies

  • @jatinnandwani6678
    @jatinnandwani6678 2 роки тому

    Nice!

  • @MiniFlicks-gz4kd
    @MiniFlicks-gz4kd 2 роки тому +1

    make more videos sir, content is awesome

  • @l_i_t_108
    @l_i_t_108 Рік тому

    awesome

  • @jaymanik
    @jaymanik Рік тому +1

    Examples about caching and CAP theorem given by Anshuman are really good.

  • @Mandeepsingh-jo5cf
    @Mandeepsingh-jo5cf Рік тому

    Thank you sir for this wonderful lecture!

    • @SCALER
      @SCALER  Рік тому

      Happy to hear that! 🙌🏼

  • @_ipublic
    @_ipublic 9 місяців тому

    Below is my saying for a LB add/minus services questions:
    If we add further clusters or remove: Data however would be distrubuted across all residing without any exception.

  • @venkatswarna3800
    @venkatswarna3800 Рік тому

    Good one, First time I have watched SD video. Thanks a lot.

    • @SCALER
      @SCALER  Рік тому

      Happy to hear that! 🙌🏼

    • @John12685
      @John12685 Рік тому

      @@SCALER Pls make complete playlist in detail on system design pls. Thanks

  • @kiranchavadi7881
    @kiranchavadi7881 Рік тому

    Amazing explanation on CAP theorem!

    • @SCALER
      @SCALER  Рік тому

      Thank you so much! Super glad to hear that! 🙌🏼

  • @AnamulHaque-hi3dh
    @AnamulHaque-hi3dh 2 роки тому +3

    Khub valo laglo

  • @raviprakash9963
    @raviprakash9963 2 роки тому +5

    start date and end date should be in users mapping table in case of institution & company @8:05

    • @ShivamSingh-bx5lg
      @ShivamSingh-bx5lg Рік тому

      Exactly what i was thinking, these fields are dependent on user and not on institute

  • @rohitkumar-ub3km
    @rohitkumar-ub3km Рік тому

    why can't we scale rdbms horizontally?

  • @Ed-gd5ec
    @Ed-gd5ec Рік тому

    Is it enough to get started with the System Design?
    or it there any advance topics we need to cover alongside this.

  • @abdullahnuman8288
    @abdullahnuman8288 2 роки тому

    GOOD

  • @jaymanik
    @jaymanik Рік тому

    System Design Interview Workflow by Mohit is really good.

    • @SCALER
      @SCALER  Рік тому

      Great to hear that 🙌

  • @alihosseini4892
    @alihosseini4892 2 роки тому +1

    Thanks for the great content.
    However, a question about database design when we choose partition tolerance from the CAP perspective. This means we won't have an RDBMS in our design. How should we go about the database design in this case as we don't have rigid schema in the NoSQL databases? Asking this as it was told in this video not to go to NoSQL right away in the interview.
    Thanks

  • @farrahvaldez6273
    @farrahvaldez6273 Рік тому

    Im trying to deside on a systems integration project.Tthat would be the easiest to make for my last class for my degree. Im at a loss as to what to do. Any help would be great

  • @gauravashq
    @gauravashq Рік тому +1

    Kindly increase the volume on this video or further videos!

  • @pushkaranand6778
    @pushkaranand6778 Рік тому

    1 user can only associates with 1 company at a given time though company can have multiple users. company --> User M:1. Why we need transient table between user and company?

  • @bharatjoshi1473
    @bharatjoshi1473 Рік тому

    Looks like this is video is missing a lot in between, like a lot of chunks are missing in between , I’m sure it a preview version of the course for business reasons, but my question is is the preview version of the topics too or this is the complete version of the topic?

  • @Anup00211
    @Anup00211 Рік тому

    Amazing resource. I am struggling to understand how hashset solves the problem of random key generation. Can I have a link of something that I can read to understand that part? I appreciate all your efforts.

  • @rahuldwivedi4758
    @rahuldwivedi4758 Рік тому

    What’s the answer to the puzzle at 50:23?

  • @ksantoshkumar4579
    @ksantoshkumar4579 8 місяців тому

    ChatGPT says -->
    Amount of Data Moved = |M - N| * Data per Server
    Where:
    M is the final number of servers after scaling.
    N is the initial number of servers before scaling.
    Data per Server is the amount of data each server is responsible for moving.

  • @jatinnandwani6678
    @jatinnandwani6678 2 роки тому +2

    Anshuman padha de bas, maja aa jaye

  • @rakesh2904
    @rakesh2904 2 місяці тому

    Kindly do let me know if my understanding is correct about the first design problem at(7.20 min). I am trying to design data modeling by keeping employer and org tables as indpendent and using as Fk .
    Please guide me if there is any issue like design side, performance point of view etc. ?
    Institute
    ==========
    id
    name
    Organization
    ============
    id
    name
    address
    User_Education
    ===============
    id
    user_id
    institute_id(it is a FK of id PK of institute table)
    start
    end
    description
    Employment
    ===============
    id
    user_id
    company_id(it is a FK of id PK of Organization table)
    start
    end -->can be null in case of current org.
    description
    Kindly reply.

  • @neiln3553
    @neiln3553 2 роки тому +1

    Can I join your courses while i am studying my Electronic Engineering 2nd sem ?

    • @himadripaul7332
      @himadripaul7332 Рік тому +4

      No ... First learn basic concepts .. try to make project using simple concepts .. after that start learning SD try to implement it in your next project .. it's a long process don't jump to such topics directly otherwise after few days you will lost your interest..

  • @devnitin1237
    @devnitin1237 5 місяців тому

    49:47 what is the equation?

  • @rupaligumaste
    @rupaligumaste 3 місяці тому

    Can benefit if you share the problem you are solving

  • @saumyabhattacharya2067
    @saumyabhattacharya2067 2 роки тому +2

    I could not understand the reason why you were adding id in the mapping tables. Normally , we do not use id in mapping table.

    • @hameedirfan3800
      @hameedirfan3800 2 роки тому

      It's an primary key of that table..that could be used in future cases

  • @aakankshathakre
    @aakankshathakre Рік тому

    M+N/M = amount of data to be moved

  • @SrikarDurgi
    @SrikarDurgi 2 роки тому

    Please add timestamps

  • @kasthurishravankumarhpc
    @kasthurishravankumarhpc Рік тому

    word

  • @tanveer.shaikh
    @tanveer.shaikh 2 роки тому +5

    it seems he is just reading the content of ppt :(

  • @shwethachandrashekar
    @shwethachandrashekar Рік тому

    Why is PUBG more often given as an example ? Request to be more generic with examples. Not everyone is aware of the game

    • @thymos6575
      @thymos6575 8 місяців тому

      PUBG and other online multiplayer games are sometimes used as examples because they involve real-time communication and coordination between multiple players over the internet. This makes them relevant for discussions about network routing, and latency.

  • @DEVILGAMING-go8my
    @DEVILGAMING-go8my Рік тому

    on the keyboard, and rage quit the program.

  • @rohitkumar-ku4ki
    @rohitkumar-ku4ki Рік тому

    Very unprofessional