Facebook System Design- how to design social media- Instagram , TikTok system design

Sdílet
Vložit
  • čas přidán 5. 07. 2024
  • System Design Interview Amazon
    System Design Interview Faang
    Faang Interview
    System Design Instagram
    System Design Tiktok
    System Design Facebook
    Connect with me for 1-: topmate.io/pratikshabakrola

Komentáře • 73

  • @srikanthperne2057
    @srikanthperne2057 Před 4 měsíci +7

    This is the best instagram system design video without any fluff. One correction is, CDNs typically cache content based on its popularity and request frequency (so, not just for celebrities). So, a pic posted by some normal person which goes viral is also cached by CDN.

  • @nancygupta4419
    @nancygupta4419 Před 5 měsíci +1

    Very simple and easy to understand! Looking forward to more design videos. Thanks!

  • @div0007
    @div0007 Před 6 měsíci +3

    Great content Pratiksha and loved your structured approach to the overall design. May I point out a small mistake in the storage estimation. 100 mil posts per day with an average size of a post being 10 MB would be 100 * 10^6 * 10 * 10^6(1 MB) B = 1000 * 10^12 = 1000 TB

  • @Waruto
    @Waruto Před 5 měsíci +2

    this is by far one of the most comprehensive and concise system design video for Instagram I've ever seen. Well done!

  • @buckybarnes9135
    @buckybarnes9135 Před 10 měsíci +4

    Literally you made system design so simple, thank you much

  • @puran_
    @puran_ Před 8 měsíci

    The best system design interview I have seen and this gives me confidence for the interviews

    • @pratikshabakrola
      @pratikshabakrola  Před 7 měsíci

      Thank you so much for sharing that! Gives me encouragement to do more of these :)

  • @CharanKumar-rd7rw
    @CharanKumar-rd7rw Před 2 měsíci

    Thank you for the video! Could you please share which libraries you use with Excalidraw for system design?

  • @flex.abhi1
    @flex.abhi1 Před 4 měsíci +1

    Finally a properly structured sys design video with all the pieces in the right order.
    One feedback is, you went a little fast on of few parts without proper reasoning for the choices you are making.
    Like why fanout service is needed to update the feed of users and how it will work. How multiple containers will be able to talk to multiple containers of upload media service before you put in the message queue.
    How CDN will work only for celebrities? Why not for all?
    One of the most important question in these systems designs is how to speed up the feed generation by pre generating the feed instead of generating it on runtime and putting the load on DB. That's the part you should have spent sometime on.
    Overall of great structured video. 10x better than the already available videos on CZcams. Subscribed.

  • @vaishnaviganseh2884
    @vaishnaviganseh2884 Před 11 měsíci

    Hands down the best Instagram system design video. Would you also be able to do a system design video on trading system or a position keeping system ?

  • @lhrolim
    @lhrolim Před 21 dnem

    The best sytem design videos aroud. really like the method of starting small and dealing with high throughput and availability next.

  • @melodicamallik5418
    @melodicamallik5418 Před 9 měsíci +2

    Good one yet again. one suggestion, Can you please make a dedicated vIdeo on fault tolerance? As most of the videos just contain a template of server and database replication as a default fault tolerance strategy, diving deep into how the system will recover and rollback when a distributed transaction happens across Microservices will help a lot for the viewers.Also,naming of the microservices can be a little more intuitive>if it was intentionally used for simplicity reasons kindly ignore.Also please justify the tradeoff of choosing NoSQL for storing the Posts data, as NoSQL is not transactional in nature.

  • @iSaac-kp5lk
    @iSaac-kp5lk Před rokem

    You're simply the best in these system design tutorials

    • @pratikshabakrola
      @pratikshabakrola  Před rokem

      Thank you, iSaac! Appreciate the feedback! Will upload more videos soon!

  • @hardekghewwalaa
    @hardekghewwalaa Před 9 měsíci

    Excellent, you made the system design so simple. Thank you so much. Keep posting good content.

  • @bforbhakti1
    @bforbhakti1 Před 5 měsíci

    Awesome content out of all watched so far..simple and relatable

  • @user-yw5nd1ym9c
    @user-yw5nd1ym9c Před 11 měsíci

    Thank you for this content hope to see more system design interview questions covered by you

  • @JohnDoe-oe9tk
    @JohnDoe-oe9tk Před 3 měsíci

    Clear ,Concise and structured explanation . Thank you so much

  • @machinelearning6726
    @machinelearning6726 Před rokem

    Thanks Pratiksha for always delivering informative contents.

    • @pratikshabakrola
      @pratikshabakrola  Před rokem

      Thank you so much @machinelearning6726 for sharing the feedback!

  • @chriso9011
    @chriso9011 Před 9 měsíci

    I find your system design videos to be very pragmatic. Can you do a video for technical retrospective as well. Would love to hear how you deep dive into a previous project

    • @pratikshabakrola
      @pratikshabakrola  Před 7 měsíci

      That's a great idea! Once I have enough system design videos, I will consider this a next topic. Thanks

  • @YuGan-lm4ce
    @YuGan-lm4ce Před 10 měsíci

    very helpful, thanks

  • @rupeshkumar7226
    @rupeshkumar7226 Před rokem

    Thank you Pratiksha for quick and informative contents, please make videos on different category of system design questions

  • @ankushvirmani9039
    @ankushvirmani9039 Před 13 dny

    You should have talked about fan out service, how it will pre create user feed

  • @JL-bp5zp
    @JL-bp5zp Před 9 měsíci

    Your videos are very helpful..please continue doing more videos...please post videos on microservices and kubernetes

  • @deep8843
    @deep8843 Před měsícem

    Really helpful!

  • @navsmail
    @navsmail Před rokem

    very nice SD videos you are doing :)

  • @melodicamallik5418
    @melodicamallik5418 Před 9 měsíci

    Also, Can posts and interaction data reside in a single database? Say if we need to retrieve a post and all its interactions, having a n/w call from post service to interaction service is really costly. Instead ,if we can have both of them stored locally in the same database< retrieval is much more convenient>Also we can add a caching layer on top of the posts and interactions data for frequently accessed celebrity posts which were least frequently updated

  • @mayuragrawal4410
    @mayuragrawal4410 Před 25 dny

    What tool do you use for designing systems in your videos

  • @balu2gani
    @balu2gani Před rokem +1

    Thanks for making this video. Was the ending abrupt? Is there a part 2 of this ?

    • @pratikshabakrola
      @pratikshabakrola  Před rokem +1

      I have covered all the content, there is no part 2. Thank you for pointing that out! It’s good feedback, I will do proper closure in next videos!

  • @rmadhavmca1
    @rmadhavmca1 Před 4 měsíci

    one suggestion why do we create a separate database for each feature(user, Post, interactions etc.) I got the idea of Relationships(GraphDB). If we maintain separate databases for each type of object we need to make 3 additional DB calls to fetch the data.

  • @ViralLordGaming
    @ViralLordGaming Před 4 měsíci

    problem with graph storage is that its gonna be a big mess solving distributed queries.

  • @ronishjariwala8714
    @ronishjariwala8714 Před rokem

    I found the information you provided to be very helpful and informative, especially considering it only took 12 minutes. Would it be possible for you to share a PDF version of this material? That would be greatly appreciated.

    • @pratikshabakrola
      @pratikshabakrola  Před rokem

      Hello Ronish,
      Thank you for sharing the feedback ! I would be happy to create pdf for the new videos I make. For past videos, I will check and see if it’s easy to make pdfs out of what I have.

  • @divyapriya4509
    @divyapriya4509 Před rokem

    Really well informative and structured video! Also, which tool you are using for high-level design?

    • @pratikshabakrola
      @pratikshabakrola  Před rokem

      Thank you, Divya! Are you asking for the editor I am using? It’s Excalidraw. If you want to know more about the interview preparation tools then watch “crack System design interview” video. Towards the end there are some great resources!

    • @divyapriya-zq7ir
      @divyapriya-zq7ir Před rokem

      @@pratikshabakrola Sure, will definitely watch it. Thanks for the suggestion Pratiksha.

  • @ViralLordGaming
    @ViralLordGaming Před 4 měsíci

    correction the memory req would be 1 petabyte.

  • @bhaveshgupta3846
    @bhaveshgupta3846 Před 2 měsíci

    I dont understand Interaction Database design part. You are storing PostID and the UserID along with comment and you mention nesting. But how will you support nesting this way ?

    • @bhaveshgupta3846
      @bhaveshgupta3846 Před 2 měsíci

      Also if youre posting the comment then the Post DB would get updated right ? so why would you need another interaction DB to begin with... hmmm
      I would have made the post DB to be noSQL and added nesting there for comments. You could make the POST API call to update the POST DB given the same parameters and the index of the new comment on the post

  • @chriso9011
    @chriso9011 Před 9 měsíci

    If the data in the Post DB is archived (for example every 6 months as you have mentioned) how can older data (> 6 months) be accessed if a user tries to access older post

    • @pratikshabakrola
      @pratikshabakrola  Před 7 měsíci +1

      We can have a on-demand retrieval mechanism, that restores archived content as user tries to access it. User will experience a slight delay when image is loading.
      Ex: Amazon S3 Standard-Infrequent Access (S3 Standard-IA) could be an ideal candidate. Please read more here: aws.amazon.com/s3/storage-classes/

  • @abhisheksirohi4964
    @abhisheksirohi4964 Před měsícem

    Please put more effor in researching and reading about the existing social media applications before comming up with a design. Fetching everything via get feed service - even media files - seems very wrong as that data can be fetched independently (via cdn or some other read post service) once postIds are retrieved. Same goes for iteration db data as that also can be fetched independently. If this all would have been returned by a single API - it will take forever.

  • @1mpiero
    @1mpiero Před měsícem

    Have a lot of problems,
    1- this system for monolithic and big system use microservice and in microservice system design is different,
    2- in database image is another table, and it's a very bad example of system design.
    3- in API request must have pagination, no limitation for result.
    And ...

  • @sunilravulapalli6955
    @sunilravulapalli6955 Před 9 měsíci

    What is the tool that you are using to draw?

    • @pratikshabakrola
      @pratikshabakrola  Před 7 měsíci

      I am using Excalidraw. It's a great tool for practicing interviews or any realtime collaborations. It also has tons of built-in libraries of graphics.

  • @vanvothe4817
    @vanvothe4817 Před rokem +1

    How to learn design system? Do you recommend any book?

    • @pratikshabakrola
      @pratikshabakrola  Před rokem +1

      Hello @vanvothe4817,
      You will find all the resources in "How to Ace a System Design Interview" video. In the beginning of the video, I have shared important concepts that are useful to learn but you can skip over that and directly go to the resources mentioned later in the video.
      Hope this helps :) All the best!

  • @hmbadruzzaman4720
    @hmbadruzzaman4720 Před 9 měsíci

    It seems you take user as a db and not a table. Why so? Why every entity is treated as a different db and a table? If it is microservises we need to talk about the overhead pf talking to each other and add a gateway. Am I missing something?

  • @MustafizKaifee
    @MustafizKaifee Před 10 měsíci

    Hi, which app/website are you using to create this diagram ?

    • @jelenamarusic3641
      @jelenamarusic3641 Před 9 měsíci +1

      She has a video named "Ace the system design interview" (or something similar), where she shows at the end that she is using excalidraw. She also shows which shape libraries she is using.

    • @pratikshabakrola
      @pratikshabakrola  Před 7 měsíci

      I am using Excalidraw

    • @pratikshabakrola
      @pratikshabakrola  Před 7 měsíci

      @jelenamarusic3641
      Thank you for helping others with these questions :)

  • @FarhanKhan-wu3fq
    @FarhanKhan-wu3fq Před 10 měsíci +1

    where did you get your accent?

    • @pratikshabakrola
      @pratikshabakrola  Před 7 měsíci +1

      ha ha ! I am not sure! I think I pick up accent pretty quickly!

  • @alicenNorwood
    @alicenNorwood Před 3 měsíci

    You've lost one 10 in your calculation, it's actually 1000TB/day

  • @Gyana.Ranjan
    @Gyana.Ranjan Před 8 měsíci +1

    are you a human or robot ?

  • @CharanKumar-rd7rw
    @CharanKumar-rd7rw Před 2 měsíci

    Thank you for the video! Could you please share which libraries you use in Excalidraw for system design?