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

แชร์
ฝัง
  • เผยแพร่เมื่อ 8 มิ.ย. 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

ความคิดเห็น • 70

  • @srikanthperne2057
    @srikanthperne2057 3 หลายเดือนก่อน +6

    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.

  • @Waruto
    @Waruto 5 หลายเดือนก่อน +2

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

  • @nancygupta4419
    @nancygupta4419 4 หลายเดือนก่อน +1

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

  • @buckybarnes9135
    @buckybarnes9135 9 หลายเดือนก่อน +4

    Literally you made system design so simple, thank you much

    • @pratikshabakrola
      @pratikshabakrola  7 หลายเดือนก่อน

      Thank you so much! This made my day :)

  • @div0007
    @div0007 5 หลายเดือนก่อน +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

  • @flex.abhi1
    @flex.abhi1 3 หลายเดือนก่อน +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 TH-cam. Subscribed.

  • @puran_
    @puran_ 7 หลายเดือนก่อน

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

    • @pratikshabakrola
      @pratikshabakrola  7 หลายเดือนก่อน

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

  • @iSaac-kp5lk
    @iSaac-kp5lk 11 หลายเดือนก่อน

    You're simply the best in these system design tutorials

    • @pratikshabakrola
      @pratikshabakrola  11 หลายเดือนก่อน

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

  • @bforbhakti1
    @bforbhakti1 4 หลายเดือนก่อน

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

  • @hardekghewwalaa
    @hardekghewwalaa 8 หลายเดือนก่อน

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

  • @user-yw5nd1ym9c
    @user-yw5nd1ym9c 10 หลายเดือนก่อน

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

  • @CharanKumar-rd7rw
    @CharanKumar-rd7rw หลายเดือนก่อน

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

  • @melodicamallik5418
    @melodicamallik5418 8 หลายเดือนก่อน +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.

  • @deep8843
    @deep8843 หลายเดือนก่อน

    Really helpful!

  • @JohnDoe-oe9tk
    @JohnDoe-oe9tk 2 หลายเดือนก่อน

    Clear ,Concise and structured explanation . Thank you so much

  • @vaishnaviganseh2884
    @vaishnaviganseh2884 10 หลายเดือนก่อน

    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 ?

  • @YuGan-lm4ce
    @YuGan-lm4ce 9 หลายเดือนก่อน

    very helpful, thanks

  • @machinelearning6726
    @machinelearning6726 ปีที่แล้ว

    Thanks Pratiksha for always delivering informative contents.

    • @pratikshabakrola
      @pratikshabakrola  ปีที่แล้ว

      Thank you so much @machinelearning6726 for sharing the feedback!

  • @JL-bp5zp
    @JL-bp5zp 8 หลายเดือนก่อน

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

    • @pratikshabakrola
      @pratikshabakrola  7 หลายเดือนก่อน

      Thank you so much! More videos to come:)

  • @navsmail
    @navsmail ปีที่แล้ว

    very nice SD videos you are doing :)

  • @chriso9011
    @chriso9011 8 หลายเดือนก่อน

    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  7 หลายเดือนก่อน

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

  • @rupeshkumar7226
    @rupeshkumar7226 ปีที่แล้ว

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

  • @balu2gani
    @balu2gani ปีที่แล้ว +1

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

    • @pratikshabakrola
      @pratikshabakrola  ปีที่แล้ว +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!

  • @melodicamallik5418
    @melodicamallik5418 8 หลายเดือนก่อน

    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

  • @ViralLordGaming
    @ViralLordGaming 4 หลายเดือนก่อน

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

  • @rmadhavmca1
    @rmadhavmca1 3 หลายเดือนก่อน

    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.

  • @ronishjariwala8714
    @ronishjariwala8714 11 หลายเดือนก่อน

    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  11 หลายเดือนก่อน

      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.

  • @ViralLordGaming
    @ViralLordGaming 4 หลายเดือนก่อน

    correction the memory req would be 1 petabyte.

  • @divyapriya4509
    @divyapriya4509 ปีที่แล้ว

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

    • @pratikshabakrola
      @pratikshabakrola  ปีที่แล้ว

      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 ปีที่แล้ว

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

  • @bhaveshgupta3846
    @bhaveshgupta3846 หลายเดือนก่อน

    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 หลายเดือนก่อน

      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 8 หลายเดือนก่อน

    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  7 หลายเดือนก่อน +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/

  • @1mpiero
    @1mpiero 13 วันที่ผ่านมา

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

  • @abhisheksirohi4964
    @abhisheksirohi4964 13 วันที่ผ่านมา

    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.

  • @sunilravulapalli6955
    @sunilravulapalli6955 8 หลายเดือนก่อน

    What is the tool that you are using to draw?

    • @pratikshabakrola
      @pratikshabakrola  7 หลายเดือนก่อน

      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 ปีที่แล้ว +1

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

    • @pratikshabakrola
      @pratikshabakrola  ปีที่แล้ว +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 8 หลายเดือนก่อน

    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?

  • @FarhanKhan-wu3fq
    @FarhanKhan-wu3fq 9 หลายเดือนก่อน +1

    where did you get your accent?

    • @pratikshabakrola
      @pratikshabakrola  7 หลายเดือนก่อน +1

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

  • @MustafizKaifee
    @MustafizKaifee 9 หลายเดือนก่อน

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

    • @jelenamarusic3641
      @jelenamarusic3641 9 หลายเดือนก่อน +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  7 หลายเดือนก่อน

      I am using Excalidraw

    • @pratikshabakrola
      @pratikshabakrola  7 หลายเดือนก่อน

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

  • @Gyana.Ranjan
    @Gyana.Ranjan 7 หลายเดือนก่อน +1

    are you a human or robot ?

    • @pratikshabakrola
      @pratikshabakrola  7 หลายเดือนก่อน

      Do I sound like a robot? lol

  • @alicenNorwood
    @alicenNorwood 2 หลายเดือนก่อน

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

  • @CharanKumar-rd7rw
    @CharanKumar-rd7rw หลายเดือนก่อน

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