Damn! This is the best tutorial video on UA-cam for system design I have seen so far. You managed to get in the details, draw a sufficiently elaborated system, explained how you should think without actually doing it and still managed to finish it within 11 min. Thanks for your work! 🔥👍
@Pratiksha Bakrola , keep up the good work. Very concise, to the point, in fact I like the speed of the videos it helps cram things faster before a system design interview. Much better than many ex fang swe's whose videos I have seen . Appreciate it.
Great video! The part where you scale all the services was pretty quick and hand wavy. I would have appreciated some explanation as to how the message queues, etc. do what you said. But overall extremely helpful and succinct.
I like the flow you captured from the user requirement to the scaling part. Can you come up with more such videos so that we can frame our mindset in solving such HLDs. May be it's better if you could also talk on what these components do exactly & what are there alternatives. Overall, this seems to be a productive one. Thanks for such videos, hoping for more such videos soon
Hello Ma'am or infact I can say Pratiksha as in IT culture we don't call Sir or Madam anyone. Your video is truly nice & the way you taught and expressed this concept is really great. There are many tutorials and the tutors teaching on YT refer to themselves having experience in top product based companies. But, from your teaching style, I am influenced and your concepts are really strong and it definitely looks like you are working with Amazon and you can really switch between product-based companies.
I have started watching your videos. Just amazing. Way better than a lot of UA-camrs. Specifically, your videos are to the point, and save a lot of time unlike other 1 hour videos. Keep the good work going. Full Support🙂 keep posting such videos
This is really helpful and useful video for system design for beginners. Please add more videos from the above playlist. Your knowledge is really helpful for beginners in the software development.
Excellent and crisp explanation.Just a few questions.1. Why do we need a cartDb? As this is a temporary data and will not be required once an order is placed for the cart. It may be redundant in that case. But it will be useful if the user wants to retrieve the cart information later on. In my opinion, we can manage both Cart and Orders using a single DB.Same goes with inventory DB and order DB.We can use a single DB to manage both.And we can manage recommnedations using the search service itself as the source of truth is the search history db managed by Search Service.
When user add items to the cart but doesn’t complete the order and leave the site, you can keep those items in the cart when they revisit. I agree with your suggestion that you could manage that in the order database, by simply adding an additional column to indicate whether the order has been placed or not. I don’t think it’s such a good idea to have one database for inventory as well as orders, they’re essentially two different types of of data. When they’re separate, you can archive historical orders but if you maintain inventory in the same table, design is not as clean.
as i randomly searching system design arch for e-commerce website this video is just a perfect match but i think this much type of deep dive is not needed for my product. Really appreciate your efforts and yes i understand how will i suppose to do things before starting actual implementation. 👍👍
❓Question - Why do we need to pass UserId to every api call param as we can extract it from the api session itself? (Assuming APIs are accessible post to user login)
Very Basic design. Most of the time talked about the DB designs. Looking for the how product search is implemented, order transactions which will be interesting for the interviews. You talked about the scalability but didn't about the how you are going to implement via deployment or maintenance point of views
Thanks for taking the time to share your thoughts! Normally, your system design interview will be for one hour. If you remove the initial introduction with your interviewer and last few minutes for Q&A, you will have only about 45 minutes for the actual interview. If you can cover the design , elastic search, transaction processing system, plus deployment and maintenance point of view, Go for it!! But if you take all of that in requirements and don't complete the design, it reflects poorly on time management skills. Also, if you take on too many features, you may not be able to provide in-depth explanations. So, choose wisely!!
@@pratikshabakrola normally, user management is same for all the use cases. In interview, if its specially mentioned about ecommerce then you should focus on ecommerce related topics. Like how you are going to design your product catelog, cart management, order management. Covering only user management for the sake of time killing its not a good idea. 1hr is a huge time, to showcase your skills you should concentrate the other aspects apart from user management. Wisely from an architect POV, interviewers looking for how you are handling scalability, resiliency and how you are bringing out of the box ideas.
I just wanted to let you know how much I loved your content! It was absolutely fantastic, and I can't wait to see more. Do you think you could upload some more soon? I'm really looking forward to it.
I loved that you built the architecture following an ordering of usage (search to order status) and base implementation to improvements (services, DBs and then caching , archives) I just had one concern. Is it good to have one single service touching more than one database ? Also maybe horizontally organizing the system design in layers like web tier, app tier, data tier would improve the readability of the overall architecture by avoiding entanglements in the design. Thanks very much for sharing your knowledge :D Please post more of that content!
Thank you for putting this together. A couple of notes. The video seems sped up at certain parts and normal in others. A little jarring to follow. Personally, I see Search/Cart/Order as separate services. I would expect a direct interaction from User to Order or Cart Service and not through Search Or Reommendation.
Hi, Thank you for taking the time to share this. It usually takes a few hours to film the whole video and i sometimes talk faster(especially when i get tired). I will pay attention to the pace at which I talk. Regarding the Search/Cart/Order service. There are multiple right ways of doing something. So, You can have them as a separate service if you like. My thought process is: You saw a recommended product on your homepage and decided to add it to cart or You want something, you will search for it and add it to the cart from the search results. Hope this helps! Thanks,
Great video on System Design good part of this video it is fast forwarded so to recap it's easier to come back and review, Thanks for creating it. At 5:10 You have opted to use NoSQL DB for order data to avoid 2 tables. Can that approach apply to user data? storing both user details and addresses in one place using NoSQL DB ?
Hi Pratiksha, Thanks for this video. I have two doubts, 1. what is the use of message queue in search service and get recommendation service? 2. You have mentioned everything as db, so are they maintaining everything in separate db as product db, search history db, recommendation db, and product inventory db?
thanks for your video. can you explain please the usage of MQ for the search service and addToCart service? I'm not sure I get the idea why to use it instead of Rest API
Thank you for creating such an awesome video that helps to learn about System Design based on real-life product. Could you please share downloadable links or images of the System Design (non-scaled and scaled) that were shown in this video?
When to use SQL vs NoSQl is clear. But how do you decide between documentDB vs keyValue in this case? Like why did you use KeyValue in the customer reviews and not document DB?
Very informative and concised video. Thanks a lot for that. Please keep making such videos. Also can you please let us know about the tool you are using to make the designs ?
Hello RaviKumar, Thank you for the feedback! I am using Excalidraw for drawing. You can find more about it in 'How to Ace System Design Interview' video around 11 minute mark.
The video is really helpfull. I have understand how to design a system in more detail using this video. Hey Can you provide Excalidraw library for this ?
Damn! This is the best tutorial video on UA-cam for system design I have seen so far.
You managed to get in the details, draw a sufficiently elaborated system, explained how you should think without actually doing it and still managed to finish it within 11 min.
Thanks for your work! 🔥👍
I am so glad to hear this, thank you!
first time , I am decreasing the speed of videos 😄
Ha ha !
Qq❤q❤@@pratikshabakrola
@@pratikshabakrolaqq
😎👍
thats because the uploader increased it before upload?
Was not expecting this much knowledge in span of 10min.
Amazing content
First time for me as well reducing the speed of the video. Really good job at drawing the system design! Thank you!
I'll suggest to focus more on
How Payment Service, Order Service and Inventory Service interact and how they hold the lock etc
Its so amazing that you completed it in just 10 mins, where other UTUBERS take more than 30. ❣
Thank you :)
@Pratiksha Bakrola , keep up the good work. Very concise, to the point, in fact I like the speed of the videos it helps cram things faster before a system design interview. Much better than many ex fang swe's whose videos I have seen . Appreciate it.
Great video! The part where you scale all the services was pretty quick and hand wavy. I would have appreciated some explanation as to how the message queues, etc. do what you said. But overall extremely helpful and succinct.
I like the flow you captured from the user requirement to the scaling part. Can you come up with more such videos so that we can frame our mindset in solving such HLDs. May be it's better if you could also talk on what these components do exactly & what are there alternatives.
Overall, this seems to be a productive one. Thanks for such videos, hoping for more such videos soon
Hello Ma'am or infact I can say Pratiksha as in IT culture we don't call Sir or Madam anyone.
Your video is truly nice & the way you taught and expressed this concept is really great.
There are many tutorials and the tutors teaching on YT refer to themselves having experience in top product based companies.
But, from your teaching style, I am influenced and your concepts are really strong and it definitely looks like you are working with Amazon and you can really switch between product-based companies.
it looks you just gave me whole idea of system design in one shot
I am glad you found it helpful and really appreciate you sharing this!
I have started watching your videos.
Just amazing.
Way better than a lot of UA-camrs.
Specifically, your videos are to the point, and save a lot of time unlike other 1 hour videos.
Keep the good work going.
Full Support🙂
keep posting such videos
Thank you so much! 😊
Excellent..! Well Articulated.
Thanks for sharing. Nice speed flow given me More info in Less time.
Please do keep sharing.
Thank you, I will
This is really helpful and useful video for system design for beginners. Please add more videos from the above playlist. Your knowledge is really helpful for beginners in the software development.
Video is informative. Thanks for sharing the info in quick time.
I don't know this happened to me or all Playback speed was fluctuating.
Sorry about the furcation on playback speed. I will pay closer attention to that next time.
Excellent and crisp explanation.Just a few questions.1. Why do we need a cartDb? As this is a temporary data and will not be required once an order is placed for the cart. It may be redundant in that case. But it will be useful if the user wants to retrieve the cart information later on. In my opinion, we can manage both Cart and Orders using a single DB.Same goes with inventory DB and order DB.We can use a single DB to manage both.And we can manage recommnedations using the search service itself as the source of truth is the search history db managed by Search Service.
When user add items to the cart but doesn’t complete the order and leave the site, you can keep those items in the cart when they revisit. I agree with your suggestion that you could manage that in the order database, by simply adding an additional column to indicate whether the order has been placed or not. I don’t think it’s such a good idea to have one database for inventory as well as orders, they’re essentially two different types of of data. When they’re separate, you can archive historical orders but if you maintain inventory in the same table, design is not as clean.
@@pratikshabakrola Sorry for the typo.I meant same DB for product and inventory.Its not orders.
Awsome !! Only thing i wished, if I can get the the whole flow chart as an image or pdf. Would have been a great help.
Could you please let me know whats the tool used to do the system design diagram
Very concise and to the point. Thanks so much!
You made it look so easy and understandable! Keep up the good work !
Glad it was helpful!
Why are we not using SQL for order database when the requirement states you need high consistency for it?
crisp and very relevant to interviews. estimations are good again wrt to interviews . thank you
most underrated i still wonder how this channel has such low sub count.
as i randomly searching system design arch for e-commerce website this video is just a perfect match but i think this much type of deep dive is not needed for my product. Really appreciate your efforts and yes i understand how will i suppose to do things before starting actual implementation.
👍👍
Great to hear!
Best content for hld
Please continue with the videos
Will do! thank you!
❓Question - Why do we need to pass UserId to every api call param as we can extract it from the api session itself? (Assuming APIs are accessible post to user login)
Can you please tell me about the tool used for system design diagrams
Very informative video...thank you so much. What tool did you use for draw the diagrams?
Excalidraw, I guess
Very Basic design. Most of the time talked about the DB designs. Looking for the how product search is implemented, order transactions which will be interesting for the interviews. You talked about the scalability but didn't about the how you are going to implement via deployment or maintenance point of views
Thanks for taking the time to share your thoughts!
Normally, your system design interview will be for one hour. If you remove the initial introduction with your interviewer and last few minutes for Q&A, you will have only about 45 minutes for the actual interview. If you can cover the design , elastic search, transaction processing system, plus deployment and maintenance point of view, Go for it!! But if you take all of that in requirements and don't complete the design, it reflects poorly on time management skills. Also, if you take on too many features, you may not be able to provide in-depth explanations. So, choose wisely!!
@@pratikshabakrola normally, user management is same for all the use cases. In interview, if its specially mentioned about ecommerce then you should focus on ecommerce related topics. Like how you are going to design your product catelog, cart management, order management. Covering only user management for the sake of time killing its not a good idea. 1hr is a huge time, to showcase your skills you should concentrate the other aspects apart from user management. Wisely from an architect POV, interviewers looking for how you are handling scalability, resiliency and how you are bringing out of the box ideas.
I just wanted to let you know how much I loved your content! It was absolutely fantastic, and I can't wait to see more. Do you think you could upload some more soon? I'm really looking forward to it.
Thank you 🙏🏼 more videos to come soon!
Wooww! Amazing. This is by far best system design video for amazon! Keep posting :)
Thank you so much! This made my day!
what tool did you use to draw the system?
Can you please mention the tool that you have used to draw the flow chart?
I am using free version of excalidraw
Pratiksha, which tool are you using to draw these diagrams/blocks of system design?
That was really great, 2.8K is very low on the like count. I wonder why
Thank you for this video.
Please what tool do you use to implement the design?
could you please mention the name of library you used for drawing in Excalidraw ?
+1
Same question
Why the add to card service is triggering order service, not the client or payment service when payment is done
Could you please create a video for the database design of Swiggy or Zomato?
Useful, Insightful and Thoughtful system design videos before Interviews. Thanks Pratiksha :)
Thank you for the feedback!
This is super simple, neat, and helpful! Thank you!
Thanks for sharing this feedback! Appreciate it
I loved that you built the architecture following an ordering of usage (search to order status) and base implementation to improvements (services, DBs and then caching , archives)
I just had one concern. Is it good to have one single service touching more than one database ?
Also maybe horizontally organizing the system design in layers like web tier, app tier, data tier would improve the readability of the overall architecture by avoiding entanglements in the design.
Thanks very much for sharing your knowledge :D
Please post more of that content!
There are many ways to optimize the architecture, Thanks for taking the time to call out other considerations!
Yes, more videos to come soon!
Could you explain why did you add messageQ, won't the search and add to cart operations by synchronous ?
Wow , amazing step by step explanation 🎉🎉🎉🎉 subscribed ❤
Keep up the great job !!!!!
Cant wait to watch more videos like this
Thank you so much :) :) More videos to come
Awesome work Pratkisha. Thanks.
How can someone be so effortless. Ireally enjiyed watchubg whole video . Seriiusly❤❤
Thank you so much! Appreciate that
Thank you for putting this together. A couple of notes. The video seems sped up at certain parts and normal in others. A little jarring to follow.
Personally, I see Search/Cart/Order as separate services. I would expect a direct interaction from User to Order or Cart Service and not through Search Or Reommendation.
Hi,
Thank you for taking the time to share this. It usually takes a few hours to film the whole video and i sometimes talk faster(especially when i get tired). I will pay attention to the pace at which I talk.
Regarding the Search/Cart/Order service. There are multiple right ways of doing something. So, You can have them as a separate service if you like.
My thought process is: You saw a recommended product on your homepage and decided to add it to cart or You want something, you will search for it and add it to the cart from the search results.
Hope this helps!
Thanks,
Top Tier explaination, very informative 👍
Glad you think so!
Great video on System Design good part of this video it is fast forwarded so to recap it's easier to come back and review, Thanks for creating it.
At 5:10 You have opted to use NoSQL DB for order data to avoid 2 tables. Can that approach apply to user data? storing both user details and addresses in one place using NoSQL DB ?
Thank you. This was very helpful.
Glad it was helpful!
Great video, the structure and information of your presentation are the best, thank you!
Awesome
Thanks
Great content and very informative. You could have slowed it down a bit, I had to slow the speed and rewatch.
Noted!
Perfect for entry level system design rounds!!!!
Need more videos, please. 😄
More coming soon! Thanks
Great content!! Where can I find the draw tool and the library of images for each component? That would be greatly beneficial !
Hi Pratiksha, Thanks for this video. I have two doubts, 1. what is the use of message queue in search service and get recommendation service? 2. You have mentioned everything as db, so are they maintaining everything in separate db as product db, search history db, recommendation db, and product inventory db?
thanks for your video. can you explain please the usage of MQ for the search service and addToCart service? I'm not sure I get the idea why to use it instead of Rest API
May i know the tool you have used to draw the design
Thank you for creating such an awesome video that helps to learn about System Design based on real-life product. Could you please share downloadable links or images of the System Design (non-scaled and scaled) that were shown in this video?
Thanks for sharing the feedback, i am working downloadable links.
Improvement Points: for Search API -> add query parameters for pagination
Do not use verbs on service names - can combine Order Service into one
Excellent call out! Thanks
single best resource online
Thank you so much!
Very nice tutorial ma'am. Very helpful. Please make videos like this, it truly helps us.
Thanks for sharing the feedback, more videos to come soon!
Your video is absolutely stunning! ❤ Great job!
Thank you!
When to use SQL vs NoSQl is clear.
But how do you decide between documentDB vs keyValue in this case?
Like why did you use KeyValue in the customer reviews and not document DB?
well explained .. need to watch couple of time. thanks
Great content in short time. Keep it up!
How did you tackle the high consistency requirement?
What tool are you using for whiteboarding?
Very good madam please keep to making these videos
Thanks, will do! Appreciate your feedback
Loved it.
your explanation is good and to the point
Thanks!
Very niceee.... Great one
Nice video. Which tool is used to make the system design diagram?
You can use excalidraw
Great explanation in short time .
Thank you so much!
Thanks @ Pratiksha Bakrola for the awesome explanation in very short video. Could you please mention the tool name used for system design creation?
Thank you so much!
The tool is called Excalidraw. I am using the free version with System design libraries.
Thank you, really very informative ✅💯
Glad it was helpful!
Didi tusi great ho
Can you improve the video sound quality...
Too Good !
Thank You for this awesome explanation
Thank you!
Nice. Whcih tool did you use for the block daigram ?
The tool is called Excalidraw. I am using the free version with System design libraries.
That was Great video, You are the best .
@piyush10vns, Thank you 🙏 You made my day ! :)
very nice
Thank you 🙏🏼
Which excalidraw library r u using
nice content
Thank you
Very informative and concised video. Thanks a lot for that. Please keep making such videos. Also can you please let us know about the tool you are using to make the designs ?
Hello RaviKumar,
Thank you for the feedback! I am using Excalidraw for drawing. You can find more about it in 'How to Ace System Design Interview' video around 11 minute mark.
ua-cam.com/video/gHso2rWo8BE/v-deo.html
Nice video, can you please share the excalidraw libraries you used to get the wodgets ?
I am using : System Design Components by @Rohan Pithadiya
Awsm content, to the point talk
Thanks!
awesome video
Thanks for making this so easy to understand. Can you tell what tool are you using for this design diagram?
Thank you so much! I am using Excalidraw. It's a great collaboration tool, you should totally check it out.
The video is very easy to understand. Kudos on that. May I know what software do you use to make these systems?
I am glad you found this helpful!
The tool is called Excalidraw. I am using the free version with system design libraries.
How you calculated the size of the Description?? in Product storage section
Hey can you share the tool you used to create the system design ???
I am using Excalidraw with system design libraries for quick graphics.
Love this❤ Ty
Thank you too much :)
Superb explanation.😀
Thank you 🙏
Feels like robo voice over… for the first time ever I decreased speed 😂😂😂
I can assure you, not a robot voice over :D
The video is really helpfull. I have understand how to design a system in more detail using this video. Hey Can you provide Excalidraw library for this ?
search for System Design Components
I am using : System Design Components by @Rohan Pithadiya
how to deal with potential data loss if nosql db is applied to order service ?
Great explanation. ❤
Thank you 🙏🏼
Gem❤