Amazon System Design | Flipkart System Design | System Design Interview Question

แชร์
ฝัง
  • เผยแพร่เมื่อ 5 มิ.ย. 2024
  • This is a solution for System Design Interview Question where you need to design an E-Commerce application like Amazon / Flipkart / Myntra etc.
    This is asked very frequently in companies like Amazon/ Google/ LinkedIn/ Twitter.
    Prerequisites:
    How to select the right Database for a Large Scale System: • Database Design Tips |...
    Recommended Videos:
    Google Maps System Design: • Google Maps System Des...
    Airbnb System Design: • Airbnb System Design |...
    Netflix System Design: • Netflix System Design ...
    Summary of the video: www.codekarle.com/system-desi...
    Architecture diagram: github.com/codekarle/system-d...
    Author: / sandeep1904
    If you like this video, please help us grow by sharing this video with your friends on Facebook, connections on LinkedIn and anyone who can benefit from this.
    PS: This is not the real architecture of any such platform. This is my take on how I would answer that problem.
    #codekarle #systemdesign #amazon #amazonsystemdesign #system #design #interview

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

  • @ritukothariable
    @ritukothariable 4 ปีที่แล้ว +53

    Thanks for sharing this video. Really appreciate the clarity of thought in your explanation and flow of the design.

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

      Glad you enjoyed it!

  • @user-tk3vj5sb6s
    @user-tk3vj5sb6s 2 ปีที่แล้ว +26

    I work at Ozon (Russian equivalent of Amazon) and yes, our architecture is quite similar

    • @aashishsawant3150
      @aashishsawant3150 ปีที่แล้ว +2

      Do you have idea about How item service communicate with Inventory service ?

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

      Instead of Item service, you can just use inventory service I think@@aashishsawant3150

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

    first person who doesn't teach just for interview purpose but in general how systems are designed, really appreciate you :)

  • @AmanGarg95
    @AmanGarg95 3 ปีที่แล้ว +44

    I worked at Flipkart and the architecture described here provides good insights into what we do. Good one. We're more on HBase than Cassandra though.

    • @codeKarle
      @codeKarle  3 ปีที่แล้ว +3

      That's great to hear!!

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

      @codekarle how can we implement the discount that Flipkart provides that vary time to time

    • @Jee_adv_air1
      @Jee_adv_air1 2 ปีที่แล้ว

      Can i get your contact info ???

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

      @@rahulsinghai3033 rule engine 🤔

  • @amareshsat
    @amareshsat 2 ปีที่แล้ว +61

    The improvement what I see in your videos is you keep everything drawn already on the board rather drawing it on the go. That would have been good as to know how you think through the whole system and how you approaching step by step. Also one more thing is the diagram could be more organized so when you talk you run through any flow it should be one functional flow from start to end rather than picking random components.

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

      Anyone has idea about How item service communicate with Inventory service ?

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

      That would make some of his 1-hour videos 3-hours length though... When everything is prepared he is able to cover more aspects and go more in-depth in shorter time. Anyway, I am not sure if we will see new videos from him.

  • @abhimanyunagpal3086
    @abhimanyunagpal3086 3 ปีที่แล้ว +26

    I have watched multiple videos on system design but the content you have is exactly what is needed to crack the interviews. You are among the best on youtube in terms of content !

    • @codeKarle
      @codeKarle  3 ปีที่แล้ว +8

      Thanks Abhimanyu!!
      Glad to hear this.
      Do spread a word about us amongst your friends. It helps everyone :)

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

      I want to know one thing. In which kind of use cases item database mongo-db will be used? as We have already search engine DB for searching items, inventory ? how inventory service and elastic search talk to each other

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

    This is the very comprehensive and clear explanations of the concepts, I have seen so many videos in platforms like udemy, linkedin learning, Oreilly but I found this explanation and design best for the ecommerce platform.

  • @vadirajjahagirdar9342
    @vadirajjahagirdar9342 2 ปีที่แล้ว +2

    This is at next level. I am making notes of all your videos and recently cracked a company. My best wishes to you brother :) :) God bless you :) :)

  • @asg3hb
    @asg3hb 2 ปีที่แล้ว +10

    Great video as always. I found myself liking the videos in which you draw the system in real time. It gives a much better idea of a system being built to solve multiple levels of problems step by step. It also keeps the viewer more focused on the piece being worked on.

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

      Do you have idea about How ItemService communicate with InventoryService ?

  • @juhisweet16
    @juhisweet16 2 ปีที่แล้ว

    still go through your videos regularly to brush up/prep for interviews.
    thank you so much for these

  • @philomath20
    @philomath20 3 ปีที่แล้ว +8

    It's not like I am trying to make some comparisons here but I usually prefer watching multiple videos for the same design topic and I can easily say that I find Sandeep's tutorials the most comprehensive and lucid at the same time. Awesome job there Sandeep.

    • @codeKarle
      @codeKarle  3 ปีที่แล้ว

      Thanks Apoorv!

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

    One of the best system design playlist out there. So underrated!

  • @tyapka
    @tyapka 3 ปีที่แล้ว +5

    I really liked the breakdown on how to lock items in inventory and how to deal with expired orders.

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

      Do you have idea about How itemService communicate with InventoryService ?

  • @TheCodeThoughts
    @TheCodeThoughts ปีที่แล้ว +2

    I think Wish List and Cart service should not be associated with Search service rather it can be directly connected to user pages once he/she is logged in.

  • @FranciscoGomez-tw1ii
    @FranciscoGomez-tw1ii 3 ปีที่แล้ว +2

    I have my first interview tomorrow and i was so scared, thanks to your videos i no longer feel like that and i feel like im actually capable of showing of what i learned so far in my career tomorrow. THANK YOU

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

      All the best for your interviews!

  • @dorjitshering775
    @dorjitshering775 2 ปีที่แล้ว

    It was such a clear explanation. I couldn't have understood it more from anywhere else. Thank you so much for the content!!

  • @sagarsaumyaprusty7681
    @sagarsaumyaprusty7681 2 ปีที่แล้ว

    This has been a clear vision for the process with multiple DB depending on the what type of data we are getting saved.
    It helped me a lot. I have designed one solution. If you have linkedin or similar can we connect.
    Just for a clarification, like MongoDB, Cassandra and Analytics tool can't we use any ERP based backend like SAP, ARIBA for purchase flow to make it more easy and smoother. These already have best Load balancing. I am a SAP consultant and looking for the similar solution that i have seen for multiple industry in my project experience.

  • @Omniman2
    @Omniman2 2 ปีที่แล้ว

    So many use cases covered, awesome design and explanation. Thanks mate!

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

    Great job! There was clarity right throughout

  • @ri_rs
    @ri_rs 3 ปีที่แล้ว +3

    Great explanation and well organized content flow in the video. Nicely covered many components of system design. Thanks a lot for creating this video. .

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

    Having worked in a super large system for 11 years (Groupon) I give this overview a 5 stars.

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

    The videos are spot on. Usually on other videos there are ambiguity in design. Your design stresses on what exactly needs to be done :) Great content!

  • @astrostudent2302
    @astrostudent2302 3 ปีที่แล้ว +7

    Videos are good and intensive. Also please show rough estimates - traffic estimate, memory estimate, storage estimate etc

  • @warnercooler4488
    @warnercooler4488 2 ปีที่แล้ว

    Best tutorial I have seen so far on this topic. Thank you so much!

  • @7hjoseph
    @7hjoseph 2 ปีที่แล้ว

    Best system design video from all what I have watched. Thanks for making this!

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

    You speak to common man! Really knowledge booster. Thanks you :)

  • @vaishnavivel3500
    @vaishnavivel3500 2 ปีที่แล้ว

    Brilliant and clear explanation.. especially appreciate the reasoning behind the DBs etc.. thanks for sharing

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

    Crystal clear thought process and explanation too. Thanks for the excellent video.

  • @nasreenustad7658
    @nasreenustad7658 3 ปีที่แล้ว +2

    Very clear and well explained all the features.. thanks for sharing, I appreciate your efforts.
    Could you please make a video on how to design Database schema for e-commerce app in details?

  • @vivekchand19
    @vivekchand19 2 ปีที่แล้ว

    Hi Sandeep, Thanks for the amazing videos. They have been very helpful. Would love to see more videos coming like Designing Dropbox, Pastebin, Web Crawler etc & system design patterns.

  • @utubesud
    @utubesud 3 ปีที่แล้ว

    Sandeep, Excellent .... Thanks very much...THis is a very intuituve design I have ever
    seen...its pretty much covers almost all details....

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

    Thank you for the clear/detailed information!!

    • @codeKarle
      @codeKarle  4 ปีที่แล้ว

      Glad that it was helpful 👍

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

    Suggestion - Please start with a brute force way to design a system, it gives more confidence to one

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

    Thank you so much for this, also pls make more videos. The quality of your talk is just too good not to be passed on to others.

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

    Buddy your knowledge level and skills are unmatchable. Keep making these videos.

    • @codeKarle
      @codeKarle  3 ปีที่แล้ว

      Thanks Deepak! Do spread the word about the channel :)

  • @ssandeepdesai7
    @ssandeepdesai7 3 ปีที่แล้ว

    Beautiful & clear explanation. Thanks for this video !

  • @anushrih.v5515
    @anushrih.v5515 2 ปีที่แล้ว

    This design was so descriptive! Thanks for sharing!

  • @domnicsatish
    @domnicsatish 2 ปีที่แล้ว

    Thank you so much for this video! Appreciate if you also share a transcript of the video in the description. It'll help keeping it handy for reading through the key concepts.

  • @kushalkhandelwal6267
    @kushalkhandelwal6267 3 ปีที่แล้ว +2

    Awesome video. Really like your style of explaining the design. Seems very natural and incremental in approach and understanding.

    • @codeKarle
      @codeKarle  3 ปีที่แล้ว

      That's great to hear!! Thanks for the kind words :)

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

    Thanks for explanation .In all your videos you explain it so simple even the complicated topics with attention to details👍

  • @vdineshkumar7620
    @vdineshkumar7620 3 ปีที่แล้ว

    Your videos are really amazing!!Thanks a lot for making them.

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

    sir, why have you stopped uploading videos, we all are enjoying your knowledge so much! Please can you upload more of such videos, it will mean a lot to all of us.

  • @nikita12351
    @nikita12351 3 ปีที่แล้ว

    Thanks for making this video. Detailed explanation!

  • @rupeshmukherjee852
    @rupeshmukherjee852 3 ปีที่แล้ว +2

    Sandeep... design a Recommendation System and designing a distributed key value store would help... Possible to take these up in ur upcoming videos?? BTW.. every video is awesome Sandeep.. best System design videos I have seen so far... very clear and not over the top, very precise yet very detailed.. Awesome work Sandeep..

  • @jagritibansal3421
    @jagritibansal3421 3 ปีที่แล้ว

    Great explanation and well organized content flow in the video. Thanks!

  • @HarkiratSaluja
    @HarkiratSaluja 2 ปีที่แล้ว

    This is a gem of a video. Learnt a lot. Thank you

  • @elachichai
    @elachichai 3 ปีที่แล้ว

    Happy Learning Indeed Sandeep!!!
    Lot of good points discussed - you talk about choice of components right in the context of design than suggesting a read up.
    It is also better than a few paid subscription tutorials.
    One suggestion: I liked the write up on codekarle describing system design which you traded for closed captions/subtitles. Can you add them on your website? Easier for a 2nd go over...

  • @ankita4priya
    @ankita4priya 3 ปีที่แล้ว

    Great design and awesome explanation of each component

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

    Great video and thank you for explaining all the important functionalities.🙂

  • @chhaviparasher2917
    @chhaviparasher2917 8 วันที่ผ่านมา

    Great content and well-organized flow in the video. Thanks a lot for creating this video.

  • @srikid100
    @srikid100 2 ปีที่แล้ว

    I really like your videos! Super informative and easy to understand. Thank You!

  • @DivyaSingh-cm4iy
    @DivyaSingh-cm4iy 2 ปีที่แล้ว +1

    Great video! For the inventory service, does it also make sense to use something like Spanner if the number of products become more for MySql?

  • @sushantkumar8903
    @sushantkumar8903 3 ปีที่แล้ว

    Simple yet very efficient

  • @sumitbabel5415
    @sumitbabel5415 3 ปีที่แล้ว

    You are amazing, superb explanation and with excellent pace

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

    I really like how you go into the details of different components - amazing work!

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

      I want to know one thing. In which kind of use cases item database mongo-db will be used? as We have already search engine DB for searching items, inventory ? how inventory service and elastic search talk to each other

  • @shivangitomar5557
    @shivangitomar5557 2 ปีที่แล้ว

    Wow! This is very well explained. Thanks!!

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

    You deserve a like, subscribe share.
    Honestly, explained such a complex system in a very short time precisely and clearly

  • @SmartEngineers
    @SmartEngineers 3 ปีที่แล้ว

    Great explanation. It's really worthful to watch.

  • @srogirala
    @srogirala 2 ปีที่แล้ว

    All your videos are excellent . Only issue is you are standing infront of the board which contains the architecture. You can stand on the side of the board so that viewers get a clean view of the architecture diagram.

  • @shikharsaxena4432
    @shikharsaxena4432 3 ปีที่แล้ว

    Awesome content! Please make a video on system design of Glassdoor as well, I found it quite tricky.

  • @sridharkulkarni9210
    @sridharkulkarni9210 2 ปีที่แล้ว

    Amazing videos on system design. Thanks very much. Love your style of explanation. Are you planning to create any videos on System design of cloud storage?

  • @holatechm
    @holatechm 2 ปีที่แล้ว

    This is what I was looking for, really helpful video bro, thanks a lot for your effort

  • @shivangigupta8691
    @shivangigupta8691 2 ปีที่แล้ว

    You are the best!!

  • @ShristiSethiya-ch2he
    @ShristiSethiya-ch2he หลายเดือนก่อน

    Great Content!!

  • @rohitchoubey1284
    @rohitchoubey1284 3 ปีที่แล้ว

    Awesome video .. really appreciate the effort !

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

    That's really awesome. Thanks, sir for sharing this video with us. Love from Bangladesh .

  • @kunalsahu3903
    @kunalsahu3903 2 ปีที่แล้ว

    Superb explanation, Thank you so much for nice detailing, plss keep on posting more in this era. Thanks

  • @agayevrauf
    @agayevrauf 2 ปีที่แล้ว

    Very well explained, thanks!

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

    Awesome explanation.

  • @arijitghosh3090
    @arijitghosh3090 2 ปีที่แล้ว

    Thanjs for sharing this...however I feel that instead of havign everything drawn out if you had drawn each component at a time will be been better. It would have made clear your thought process and will have been less overwhelming

  • @ananthasubramanian7355
    @ananthasubramanian7355 3 ปีที่แล้ว

    That was great...!! Thank you

  • @TheSridharraj
    @TheSridharraj 2 ปีที่แล้ว

    Marana mass~!!

  • @hiltonpaul5778
    @hiltonpaul5778 3 ปีที่แล้ว

    Excellent presentation..

  • @awdhesh17
    @awdhesh17 3 ปีที่แล้ว

    Very informative video... Thanks for Sharing...

  • @Gohel95
    @Gohel95 2 ปีที่แล้ว

    thanks, man for that deep explanation.❤💖

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

    Very helpful video. Thank you so much.

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

    It's very nice and clean approach. Thanks for all your effort. i would like if you can create a catalog management system video which can cover the master data management for product as admin.

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

    Thank you for your work, great job 😌

  • @MarimuthuSA
    @MarimuthuSA 2 ปีที่แล้ว

    Great content but easy to understand, Thanks codeKarle.

  • @YashRaithatha1989
    @YashRaithatha1989 3 ปีที่แล้ว

    awesome ! Thanks for explaining it with so much clarity.

  • @Vivek-je1og
    @Vivek-je1og 2 ปีที่แล้ว

    Thanks for your efforts. Really grateful.

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

    I really enjoyed the way you explain things...simple and effective👏🔝
    My kind regards from Egypt.

  • @user-rw6lx7hg7i
    @user-rw6lx7hg7i 3 ปีที่แล้ว

    Wow.. e-Commerce system is so complex..

  • @kavysri
    @kavysri 2 ปีที่แล้ว

    beautifully explained

  • @safarnama4597
    @safarnama4597 3 ปีที่แล้ว

    Thanks for nicely explanation of each component in detils.

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

    This is really so much helpful

  • @swatisinha7382
    @swatisinha7382 3 ปีที่แล้ว

    Great video!

  • @akhileshvatupalli
    @akhileshvatupalli 2 ปีที่แล้ว

    Very nice one! I literally liked and slept at the same time. Appreciate it 😎😎

  • @psk2166
    @psk2166 3 วันที่ผ่านมา

    Thank you for sharing, I've learnt a lot from you :)

  • @PriyankaSharma-zt5pq
    @PriyankaSharma-zt5pq 3 ปีที่แล้ว

    Amazing insight and information

  • @AmitKumar-gm8wl
    @AmitKumar-gm8wl 3 ปีที่แล้ว

    it is really impressive. Helped me a lot in system design.
    One request is that please make a video on movie ticket booking system (BookMyShow)

  • @igorburilo3937
    @igorburilo3937 2 ปีที่แล้ว

    Thanks for such detailed and good explanation

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

    fantastic video v clear simple detailed.

    • @codeKarle
      @codeKarle  3 ปีที่แล้ว

      Thanks!! Glad you liked it!!

  • @snowglider400
    @snowglider400 2 ปีที่แล้ว

    thanks for this. It really helps.

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

    very good content. thank you!

  • @ZeroInfinityCoder
    @ZeroInfinityCoder 3 ปีที่แล้ว +2

    Best explanation. Though i have one doubt for "USER PURCHASE FLOW"
    Instead of "ORDER TAKING SERVICE" and "ORDER PROCESSING SERVICE" can't we just have one "ORDER SERVICE" (which will do 2 things take orders and view live orders) as it seems too much of separation of concern OR is it done to segregate READ and WRITE traffic?
    Also let "ARCHIVAL SERVICE" talk to "OMS MYSQL DB" for getting orders which are in TERMINAL State.
    What are your thoughts?

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

    Just 1 suggestion, instead of taking these big designs, you can choose smaller things and make a series of videos, then 1 video to just stitch it. The issue I see is that we are going into some things in deep whereas some other important things seem to be missing

  • @preethilydia1617
    @preethilydia1617 3 ปีที่แล้ว

    very nicely explained!!

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

    You have explained the CAP theorem so easily which was really challenging to understand. Kudos!!! Keep up the good work.

  • @architgupta4087
    @architgupta4087 3 ปีที่แล้ว +11

    @CodeKarle Nice explanation.
    Since the order, payment, and inventory are managed by separate microservices, we may need distributed transactions here. Thinking about cases like we reduced the inventory but the order service failed to persist the order. It would be great to discuss this issue along with different distributed transaction algorithms (Paxos, 2PC, 3PC, Saga etc) in your next video.

    • @rujhanarora7892
      @rujhanarora7892 2 ปีที่แล้ว

      Exactly my thoughts. As Sql doesn't provide distributed transactions, the statement made in video is little misleading

    • @preetigupta5565
      @preetigupta5565 2 ปีที่แล้ว

      Right..Also they whole order taking journey is synchronously spanning through multiple microservices. Would that not block the customer?

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

      Archit, Do you have idea about How ItemService communicate with InventoryService ?

    • @sudhanshukumar-yu7fj
      @sudhanshukumar-yu7fj 2 วันที่ผ่านมา

      Correct, SAGA is way forward here. 2PC and 3PC are quite slow in real world, besides making this process synchronized suffers from late response to the client. A better way in SAGA suggests that we provide an immediate response let the SAGA complete. Once completed or rolled back then confirm the order.