YouTube High Level System Design with

Поделиться
HTML-код
  • Опубликовано: 30 янв 2025

Комментарии • 170

  • @KeertiPurswani
    @KeertiPurswani  Год назад +13

    Go from this basic level to advanced level in 5-Week LIVE HLD Course - www.educosys.com

  • @java3269
    @java3269 Год назад +122

    The video started with Keerti interviewing Harkirat; and ended with a 180-degree role reversal. Harkirat is a smooth operator. 😂

    • @dakshayagarwal2560
      @dakshayagarwal2560 Год назад +22

      He is not a smooth operator. He lacks System design experience & doesn't know many basic things. Being Overconfidence over his face, & doesn't even behaving like a interviewee. Hence Interviewer took the responsibility to continue the design, because she needed content for RUclips video.

    • @rohitjain7626
      @rohitjain7626 Год назад +13

      @@dakshayagarwal2560 +1 It all started with him not listing watch feature in functional requirements and then saying no idea in non functional requirements. He failed the interview in the first 2 minutes.

    • @Rapopper
      @Rapopper 11 месяцев назад +4

      Harikirat is god

    • @sunilyadavtravel
      @sunilyadavtravel 5 месяцев назад

      😄😄

    • @chiranjeevibs251
      @chiranjeevibs251 5 месяцев назад +3

      This was never an interview, this is just a discussion

  • @sudheersingh2515
    @sudheersingh2515 Год назад +25

    The way keerti is explaining the concepts and logic shows she has more theoretical knowledge and Harkirat is being more practical here like there will be need of updating user’s profile picture if storing that in meta data etc… and i think that should be the approach to any system design problem which is way more than just drawing boxes.

  • @shivinunitholi2493
    @shivinunitholi2493 Год назад +10

    The fact that Harkirat's channel has grown massively over the last few months is because he has this original element in his content and ppl can relate with what he says. Being someone who's pivoting from Non tech to Tech, I'm truly inspired by Harkirat.

  • @shivamnegi4873
    @shivamnegi4873 Год назад +98

    Harkirat has now become a common face in Indian Youtech community ❤

  • @avegeta1
    @avegeta1 Год назад +5

    From this awesome System design discussion I could clearly see that these two folks have a very different thought process. Where Keerti likes to discuss about the Highlevel system design. And The dude likes to see the knitty gritty of the problem and visualizes how it will actually look physically.

  • @Rajdeep11082
    @Rajdeep11082 Год назад +10

    Great informative video! Just to add more on TCP/UDP part, RUclips and other social media platforms where live streaming is performed, they use Dynamic Adaptive Streaming over HTTP (DASH) protocol which is based on TCP since it gives adaptive bit rate streaming - different resolutions , also video meta data with chunks adding functionality and most importantly as it uses TCP, the video quality is guaranteed . On the other hand, WebRTC uses combination of TCP and UDP, which result into poor quality at some point of time due to lost packet. WebRTC is more reliable for real time communication like video calling, peer to peer communication etc.

  • @BosscoderAcademy
    @BosscoderAcademy Год назад +1

    The way you explain RUclips system design is truly commendable. We also believe in making these concepts accessible by makin video on system design of Microsoft teams

  • @sameer_sah
    @sameer_sah Год назад +5

    16:46 A user having lots of videos would mean a coloumn in user table with data as array of videoID/ video URLs. This would make the table unnormalised (breaking 1NF). I think a better way would be to have userID as foriegn key in video info table (videoId, videoURL, userId).

    • @sayandeepghosh2911
      @sayandeepghosh2911 Год назад +3

      Many times people choose to have denormalized data just to avoid joins.....because if you are trying to build highly scalable database, you need to shard the data and if you are going with normalized data then might need to join data from two shards which is very expensive as the data from different shards need to be brought to a single machine first for processing the join.

  • @Manney45
    @Manney45 Год назад +31

    That tcp and udp discussion was superb..
    Thanks keerti di for this wonderful video ❤❤

  • @vm1662
    @vm1662 Год назад +2

    Thanks Keerti and Harkirat. I liked the format of the video. It was more like a discussion rather than an interview. This led to a very free flowing conversation. Looking forward to more! :)

  • @SuryaKarigar
    @SuryaKarigar 8 месяцев назад

    These discussions are mind refreshing as there are two different perspective of thinking for the same system, one is coder and other is a system designer.
    As a coder I can say she’s amazing at doing it theoretically with explaining it but with a practical coder, it even becomes more clearer to understand and design a better system all together ❤❤

  • @deepakbasoiya975
    @deepakbasoiya975 Год назад +4

    i am commenting this comment now i m going to recheck this comment after 3 years , lets see at that time in which position i am working on at what salary , currently iam student doing mca from nitk....

  • @rittikdasgupta8772
    @rittikdasgupta8772 Год назад +33

    Designing youtube is a very large example. The outcome of building such a system will only result in a very vague solution and it might not be that helpful. I would love to see designing videos of different components of youtube (example, there will be a lot of details and tradeoffs required in uploader and splitter service) instead of whole youtube and going a bit more in detail. There are a lot of creators who create such vague system design videos, but I would highly appreciate if any indian creator makes system design videos that are actually practical and are in much more depth. This will highly benefit the tech community. BTW love the content of this channel. Hope to see such good content in future too. 😊

    • @KeertiPurswani
      @KeertiPurswani  Год назад +19

      Hey, you see so many educators teaching like this because this is what is expected in interviews and people are scared of. But it’s a good feedback and an interesting challenge, I assure you that I will come up with such videos 😇

    • @KishorePurswani
      @KishorePurswani Год назад +2

      I love your attitude of accepting such challenges ❤❤

    • @TheHaribols
      @TheHaribols Год назад +3

      @@KeertiPurswani bro youtube has 2.3 billion user per month and not per day , also they only have 122 million daily active users.

  • @normy_one
    @normy_one Год назад +4

    Upload to view ratio might be a lot lower than 1:100, I guess.
    About TCP vs UDP, apart from consistency and quality, TCP allows the user to seek back. WebRTC is also an expensive choice btw, and is used for real-time use cases only.
    Overall feedback:
    1. The information about ABR and the manifest file was interesting.
    2. Designing RUclips is a huge topic, but nice that you covered the basics well. It will be amazing to see more granular and detailed videos for each sub-topic.
    3. Didn't feel like an interview, but was a good discussion.
    4. Good video overall. Thanks. 👍

  • @xundansingh5618
    @xundansingh5618 Год назад +1

    20:20 this is how you should think even the others knows too . just by using logical thinking .

  • @ashishkumawat6110
    @ashishkumawat6110 5 месяцев назад

    I have my system design interview today and I was tensed as I can build real systems but fumble in these interviews because of relating everything with actual implementation just like Harkirat here... But this relieved me as I'm not the only one.

  • @IrkyMan
    @IrkyMan Год назад +5

    Don't mess with Harkirat, he knows everything

  • @viBytes7
    @viBytes7 Год назад +2

    Believe user Id should not be used as it creates a security gap . Using api key or cookie to get the user Id in backend would be the right approach.

  • @ru2979
    @ru2979 Год назад +3

    bro joined goldman and literally became a gold man 😮😂

  • @SchoolScience
    @SchoolScience Год назад +2

    I wish the real interviews are as interactive as this. But no, this will not happen because in real life the interviewers think they designed all of the greatest applications in the world and have a ton of ego driving them.

  • @mdjafaruddinsomrat5160
    @mdjafaruddinsomrat5160 Год назад +2

    A littile correction is 2.7 bilion is monthly active user not daily.Daily active user is 127 milion.Great work

  • @nammi895
    @nammi895 10 месяцев назад +3

    Ok who is the interviewer here 😂
    Hari so smoothly reversed the role

  • @pleaseexplain4396
    @pleaseexplain4396 Год назад +6

    When you say that the splitter service will be splitting a video using a queuing service like RabbitMq, what do you really mean? Just using terms like splitting will happen using RabbitMq doesn't make any sense. RabbitMq is a MessageQueuing service i.e. something similar to AWS SQS wherein you send messages from a client to a server or vice versa. The input to such a splitting service can't be an entire video rather the video needs to be uploaded into an archival service for instance an S3 bucket and the path to the video must be passed to the splitting service in a RabbitMq message where the splitting service will then start to chunkify the video and do miscellaneous things with it.

  • @amansingh-os9gd
    @amansingh-os9gd Год назад +1

    very nice walkthrough of the system design, kudos harkirat for opening up the network tab

  • @md.asadujjaman3445
    @md.asadujjaman3445 Год назад +12

    Nice to see you back with the interview video. I love your interview video and it's very helpful, keep shining.

  • @jainilmodi3704
    @jainilmodi3704 Год назад +1

    There are about 120 million daily active users on youtube. And 2.7 billion monthly active users. I think she got confused between daily and monthly.. since 2.5 billion per day would just be insane

  • @razorr1920
    @razorr1920 Год назад +4

    As much as I enjoy your videos / content and appreciate the fact that you take out time to do all this great work by sharing your knowledge and experience, it makes me kinda wonder if I over value your work. Me being an ex-Flight Engineer and understanding nearly everything you discuss, makes me think that you need to UP your game. Much more depth is expected from you. Sorry for blowing the heat, but if it improves the overall dynamics of coming to your channel and viewing your content, then it is worth to share a thought honestly. And Yes, we're it your dad and you, I would have totally be happy. But two icons talking meager...I better demand more.

  • @parthasarma-r4x
    @parthasarma-r4x 28 дней назад

    RUclips uses HTTP/3 on Quic and Quic uses UDP. Also for video uploads you would always use a multipart upload on a pre-signed URL provided by the Blob store where the file actually gets stored. Transmitting the file data through internal microservice to eventually reach the Blob store would kill the network bandwidth and would be catastrophic for a system like RUclips.

    • @haneeshrddy
      @haneeshrddy 24 дня назад

      @@parthasarma-r4x curious how security is handled here if the video isn’t going the internal system. It makes sense from n/w bandwidth perspective but I assume the pre-signed URL here wouldn’t be a secret and anyone who finds this URL can upload content to it

    • @parthasarma-r4x
      @parthasarma-r4x 19 дней назад

      @@haneeshrddy uploading on a pre-signed url is a common pattern. its pre-signed , hence authentication is taken care of like a lease mechanism for a short duration.Google about it

  • @abhishekkarn8918
    @abhishekkarn8918 7 месяцев назад

    Again, there is one more flaw. Chunking should be done on the client itself. The entire use of chunking is eliminated if we need to do it at the service

  • @syedishrathullah
    @syedishrathullah Год назад +5

    Humble K meets a bit of know it all H ..I am subscribed to both for the knowledge but would say K is next level in terms of humility . hope H learnt a thing or two .. nice video in terms of content .

    • @sr-xd8jb
      @sr-xd8jb Год назад +3

      H earns in crores sitting in India from the US. Pride will be there.

  • @pranilscode
    @pranilscode Год назад +2

    Thank You Mam 👏👏👏 ,
    It's really getting More Information about System Design, Please Keep It Mam ,Do More Video Like This🙏 .

  • @abhilashpatel6852
    @abhilashpatel6852 Год назад +1

    who is interviewing who here? I could not say.

  • @PraveenKumar-wx5yt
    @PraveenKumar-wx5yt Год назад

    Hey Keerti, loved the video. But please go more in-depth into why and how, and the tradeoffs.
    Start simple, go in-depth, then expand the functionalities. Thanks a ton. Get to learn a lot.

  • @Arjun-tg1go
    @Arjun-tg1go Год назад

    CAP= in the event of network partition you can either get C or A

  • @shivamdeshwal_
    @shivamdeshwal_ Год назад +1

    @KeertiPurswani
    Just to clarify 2.1 Billion are monthly active users not daily, its approximately 122 million/day.

  • @deepakbasoiya975
    @deepakbasoiya975 Год назад

    the first study video i enjoing so much , i think thats video going to my life , becouse know i devloped intreast in system design

  • @DurgaShiva7574
    @DurgaShiva7574 Год назад

    nice content, really looking forward for your upcoming you-tubes component wise videos which will explain more minute components in more detail.
    keep up the good work !

  • @amandeshpande8981
    @amandeshpande8981 Год назад

    The discussion in this video is pure gold 🌟

  • @dhineshbabu9376
    @dhineshbabu9376 Год назад

    Very useful discussion and excellent piece of content❤👌. Sharing it with my team for learning. Thank you for your contributions to the community.. 😊

  • @ssg9758
    @ssg9758 Год назад +1

    These guys are masters at their respective field. If anyone who is thinking of getting at their level coming from a low tier college, non tech, different work experience with not much skills then they need atleast 10+ years of experience and even then it will be difficult. These guys are really smart, high iq hard working folks of our country.

  • @vighneswarmulaga9088
    @vighneswarmulaga9088 Год назад +2

    @KeerthiPurswani another great discussion over designing RUclips with @harkirat1. I have a suggestion and a question.
    Suggestion - On the DB design how about having channels table with unique channelID which gets referred in the users table as foreign key. Channels table will have S3 bucket ID containing all the video uploads of a user.
    Question- Will there be multiple manifest files corresponding to different bit rates or one file will contain all the chunks of different bit rates? How the switch between the bit rates happen depend on the bandwidth?

    • @Iamkaashif
      @Iamkaashif Год назад

      Why not refer to the user in the channels table with the user ID?
      Genuine question*

  • @pappu10714
    @pappu10714 Год назад +32

    All wanted to help students😂

  • @arishtajain8372
    @arishtajain8372 5 дней назад

    Don't agree with the schemas she suggested for the DB, why would you want to bulk your user table with video IDs? that too an array of strings. Also, at 20:26 the suggestion to store image and user name against every comment was very bad design

  • @chesswithsarang
    @chesswithsarang 10 месяцев назад +2

    "I agree with you I know about it" LMAO that was funny

  • @mohammadshaqibsiddique9291
    @mohammadshaqibsiddique9291 Год назад +1

    27:56 server sending the next *chunk* in higer bitrate not the next *packet* . it nothing to do with packet management.

  • @atharvkulkarni9112
    @atharvkulkarni9112 Год назад +1

    Who is interviewer and who is interviewee

  • @Md_sadiq_Md
    @Md_sadiq_Md Год назад +2

    Pushing the algorithm ❤

  • @chesswithsarang
    @chesswithsarang 10 месяцев назад +2

    bro was not allowed to speak in his interview :/

  • @rabindrapatra7151
    @rabindrapatra7151 3 месяца назад +1

    This is a good content. But how many Engineers which are not into Big company work with such a system. Honestly,I have never worked with such system in my 10 years of experience. As I dont have hands on with such systems, I have to remember without any practical experience and explain in an interview. Surely I wont do this in an interview.

  • @VivekMishra-ob8yf
    @VivekMishra-ob8yf 5 месяцев назад

    Hi, I think it's wrong choice to store videoId in the user table instead we should store the user ID for each video in the video table so that whenever we query our video table with a user id we can get all the videos regarding that user.

  • @syedishrathullah
    @syedishrathullah Год назад +1

    one more question sorry : I take it the upload service is classed as a micro service and not a monolithic one as the upload is just one service we are demonstrating here..there will be other services as well( I don't know what but just have a. feeling there are)

    • @KeertiPurswani
      @KeertiPurswani  Год назад +2

      Yes yes! If the entire logic of upload, watch and other things were in one service then it would have been monolithic. These are microservices 😇

    • @prashantchamoli7263
      @prashantchamoli7263 4 месяца назад

      @@KeertiPurswani Hi keerti, so will they have separate load balancers?
      Or different services have common load balancer shared between them in a microservices architecture?

  • @abhishekkarn8918
    @abhishekkarn8918 7 месяцев назад

    We shouldn't be sending userId in any post or get request. This will be a flaw in security.

  • @Samarthgoyal-g1f
    @Samarthgoyal-g1f 4 месяца назад

    Is this an interview or a masterclass for the interviewee?? Whatever it is, loved the process..

  • @vikram_saha7
    @vikram_saha7 Год назад

    Great discussion !! Learned a lot.

  • @navyasri5077
    @navyasri5077 9 месяцев назад

    I watch 300-400 shorts a day easily .on weekends it is double triple.

  • @KeshavKumar-df1sz
    @KeshavKumar-df1sz Год назад

    TCP/UDP discussion was great.

  • @codezard1
    @codezard1 Год назад

    Great Discussion, Subscribed🤟

  • @thatsenoughdixit
    @thatsenoughdixit Год назад

    Commenting so I get this more of these on my feed.

  • @BKMahapatra-dh8hp
    @BKMahapatra-dh8hp 9 месяцев назад

    Sorry if I'm wrong and I'm quite new to system design but curious about this aspect: storing video URLs in the user data table. Wouldn't this practice potentially violate solid principles? 18:00

  • @raj006
    @raj006 3 месяца назад +1

    Can anyone elaborate a bit what is S3 or Object storage they mentioned to store video contents while discussing database. Is it Amazon S3. Sorry I am kind of newbie

    • @mailer3261
      @mailer3261 2 месяца назад +2

      AMAZON S3 is a blob storage where we store images, videos and other data. it returns url which can be used for fetching that stored data.

  • @praptib
    @praptib Месяц назад +1

    it's 2.5Bilion / month
    yt has 122 million users daily

  • @akshitsachdeva8262
    @akshitsachdeva8262 Год назад

    Awesome video❤

  • @codedesigner8839
    @codedesigner8839 3 месяца назад

    @13:44 why don't we encode video first, then divide in chunks, why I want splitter service to have real video data ?

    • @findingshrek
      @findingshrek Месяц назад +1

      @@codedesigner8839 encoding is a heavy process , lets say you have a 20 mins videos and at the 18th min your encoder failed , you would have to retry encoding the whole video .
      How could encoding failed ¿ you , might be using spot fleet ec2 from AWS which can die anytime .

  • @Shubham-sv5wo
    @Shubham-sv5wo Год назад +1

    for beginners who comes from different backgrounds can you please make a roadmap for them how to enter into sde role

  • @asmitamishra4965
    @asmitamishra4965 Год назад +1

    Very nicely explained

  • @ssk7690
    @ssk7690 Год назад

    this is amazing!

  • @rahulrahul-cm4mn
    @rahulrahul-cm4mn Год назад

    What a lovey way to explain

  • @vasutyagi9569
    @vasutyagi9569 Год назад

    makes sense ...❤

  • @stanleyjr_
    @stanleyjr_ Год назад +1

    22:05 when does it checks the plagiarism?

  • @kpurswani4133
    @kpurswani4133 Год назад

    Great going. keep up the good work

  • @rjkhema14
    @rjkhema14 10 месяцев назад +1

    All those estimations went in vain, it is no where justified in the designing.

  • @soulofjack7294
    @soulofjack7294 8 месяцев назад

    It's a very high level design, if you can directly stream your data to s3 then why do we need splitter service? Also your encoding service will anyways going to create the hls chunks

  • @SunainhaVijay-d5g
    @SunainhaVijay-d5g 6 месяцев назад

    beautifully done

  • @advait2943
    @advait2943 Год назад +2

    Just finished watching. Great video!! 👍

  • @BhavikaRajani
    @BhavikaRajani Год назад

    What an idea !

  • @salman1098
    @salman1098 Год назад +1

    Around 20:00 I was having same question why would be store image name instead we can store Id and harkirat pointed it out immediately he thinks like me😂

  • @vinayakkumar9416
    @vinayakkumar9416 Год назад +1

    I started watching the video with interest but soon it became like a show off than a discussion … Harkirat could have contributed more if you would have let him

  • @thedileepnagendra
    @thedileepnagendra Год назад

    So She was here to sell her course.

  • @AftabAnsari-vm5dz
    @AftabAnsari-vm5dz Год назад

    Thank you for the system design video. What is the tool name that yiu are using as whiye board for design amd writing the requirements

  • @ashutoshkumar4565
    @ashutoshkumar4565 8 месяцев назад

    so the interviewer always writes on screen? I don't have a digital pen

    • @KeertiPurswani
      @KeertiPurswani  8 месяцев назад

      When did I say this is mock interview

  • @AlokYadav-SKB
    @AlokYadav-SKB Год назад

    For Likes/Dislike, shares Graph DB would have been better choice

  • @rabindrapatra7151
    @rabindrapatra7151 3 месяца назад

    MongoDB is not for write heavy. why cassandra and why not mogodb.

  • @Unknown-explorerr
    @Unknown-explorerr Год назад +1

    Interesting content!!!

  • @PrashantCodes
    @PrashantCodes Год назад +1

    How are chunks handled, how does the actual storage work?

  • @rahulkathuria8250
    @rahulkathuria8250 16 дней назад

    what tool is being used here?

  • @ayushtiwari1666
    @ayushtiwari1666 Год назад +4

    Hari kirat🤣🤣

  • @sachinaghera8189
    @sachinaghera8189 Год назад

    This was awesome video.
    Can you make system design for book my show and how to prevent double booking?
    It really help us.
    Thanks !!

  • @atul6585
    @atul6585 Год назад

    Before 2018, system design was not a thing… what?

  • @ekanshmishra4517
    @ekanshmishra4517 Год назад

    Explain protocols also
    Why no one talks about protocols HLS, Dash etc hearing about them first time😢

  • @vinitchuri9729
    @vinitchuri9729 Год назад

    Mam the upload service gets the whole video from the user before sending it to splitter right, why do we need splitter the only pre processing that is required is encoding the video right , what other pre processing is required for the video to be split into chunks?

    • @vinitchuri9729
      @vinitchuri9729 Год назад

      also the CDN, does every cdn servers distributed accross the world have all the databse content cached into it? also how does security in the cdn works? does the client directly communicate with cdn? but the auth occurs on the server right

  • @syedishrathullah
    @syedishrathullah Год назад

    what is the best way to differentiate a functional requirement to an NFR..is there like a thumb rule ? how does one make that split to say this is FR versus NFR?

    • @prasannaagnihotri430
      @prasannaagnihotri430 Год назад +1

      generally if you notice NFRs are basically the qualities (scalability, security, reliability etc) that the system should have not the actual functions.

    • @KeertiPurswani
      @KeertiPurswani  Год назад

      For FR - think of the functions that system has to be support. For NFR - think of the quality attributes or behaviour. Latency, consistency and all tell how the system behaves vs upload and watch are its functions. Hope you understood?

    • @syedishrathullah
      @syedishrathullah Год назад +1

      @@prasannaagnihotri430 Got it , so Security comes under NFR --like designing Access Control and defence in depth solutions are NFRs..

  • @unpredictableme5562
    @unpredictableme5562 9 месяцев назад

    Can we use it and extend it for e-learning system design ?

  • @_aka5h
    @_aka5h Год назад

    How to handle corrupt files or malicious files upload?

  • @RakibHossain-ez8sk
    @RakibHossain-ez8sk 4 месяца назад

    Interviewer kon tha isme ? 🤣

  • @thelongweekend92
    @thelongweekend92 Год назад

    First comment! Great content!

  • @prodigysonhiddenforareason1239

    Hari is nervous? 😓

  • @pulkitnigam4910
    @pulkitnigam4910 Год назад +1

    What this cse branch is
    Padho
    Padhao
    Job se kamao
    E commerce pe tie up kar lo
    Free lance
    Remote
    Recruitment refeerral earn
    Foreign transfer
    ...
    Ahh i hate my chemical engg brancg

    • @Dev3z
      @Dev3z Год назад

      Same ... Just going to start core chemical eng 3rd sem in this July.

  • @sumitbhadola
    @sumitbhadola Год назад +1

    Didi, apne papa k saath aap video banao please, It's very Friendly to watch and learn.. podcast le aao papa k saath...

  • @khanra17
    @khanra17 Год назад +1

    Why your voice is loud and quiet at the same time?
    You start every sentence louder and go quiter & the transition is not smooth.
    So frustrating 😡