Design Youtube - System Design Interview

Design Youtube - System Design Interview

NeetCode

1 год назад

263,710 Просмотров

Ссылки и html тэги не поддерживаются


Комментарии:

Keanu
Keanu - 17.09.2023 15:58

Why dont we skip the first object storage? Like the app server directly adds the video to the queue?

Ответить
John Yeuk Hon Wong
John Yeuk Hon Wong - 04.09.2023 22:31

Even in sport live streaming, to the end users, they are mostly over TCP. TCP gets your congestion control, error code checking, and guarantee ordering delivery. With live stream, sure it sucks when you are 10 seconds behind or when you see the "10x speed up" or "fuzzy screen" when there is a slow network, but ultimately as a viewer we still want to see most of the live video to be played. The client side can throw error when there is a consistent connection error, or skip ahead when it finds itself way behind. With UDP you really don't get those benefits. TCP reusing connection also helps. In practice, almost no one will use udp. There are other proprietary protocols out there, but most of them depend on tcp.

Ответить
Sebastian
Sebastian - 27.08.2023 18:25

what books do I need to read for this any suggestions? what exactly is the name of the topic i need to research?

Ответить
Harry Cheema
Harry Cheema - 11.08.2023 02:35

Great video. I like the high level stuff.

Ответить
auroshis ray
auroshis ray - 30.07.2023 21:16

Loved the conciseness of the video

Ответить
Ruksad siddiqui
Ruksad siddiqui - 30.07.2023 13:57

I guess, video upload should be 5million instead of 50 million. Ratio is 1:100 for uploading and watching users are 5 billion

Ответить
Praezy
Praezy - 23.07.2023 14:37

Once a video is encoded and stored in the object storage (encoded), does the original video need to remain on the raw object storage? If it can be removed, then what is the use case of the raw object storage? Can raw object storage be removed from the design such that uploaded videos go directly to the message queue?

Also, I thought sharding can only be implemented for NoSQL databases. If SQL databases can implement sharding, then they can also horizontally scale and I don't see a downside to using them over NoSQL databses?

Ответить
Lelouch no Requiem
Lelouch no Requiem - 10.07.2023 16:10

I almost clicked on don't recommend channel, seeing that hyped face of that idiot lol😂

Ответить
Sydney Collins
Sydney Collins - 01.07.2023 20:30

Should you in a design interview cover how many app servers you might need based on the DAU

Ответить
Moaz Ahmad
Moaz Ahmad - 30.06.2023 18:02

Thank you Mr Beast

Ответить
Xing Yang Lan
Xing Yang Lan - 22.06.2023 07:45

Why no arrows from metadata to encoded object stores? How metadata go to CDN?

Ответить
Piyali Das
Piyali Das - 03.06.2023 23:31

@NeetCode Thank you so much for such great contents! Could you please create a system design video on how to design a feature flag/toggle system similar to CloudBees or GitLab ones.

Ответить
Mark
Mark - 28.05.2023 01:41

For the NoSQL user profile picture topic. Instead updating the picture in every document could it not make sense to store profile picture as a userid.jpg and overwriting this userid.jpg with changes hence the reference always pointing to the same destination and thus never requiring updating of references in multiple documents in case of picture updating?

Ответить
pavel astraukh
pavel astraukh - 17.05.2023 21:44

Is it really that better to use NoSQL and have a need to update potentially unlimitted number of records instead of having one user record and update it? I don't see how it is improvement over using relational DB. Yeah, it avoids join but I don't think that it is a big performance hit.

Ответить
iqbal ibrahim
iqbal ibrahim - 11.05.2023 12:00

so queue is a place for raw videos waiting their turn to be encoded by the encoding service?

Ответить
Jamal Ahmed
Jamal Ahmed - 06.05.2023 11:02

Bro! Genuinely such eye opening content. Thank you! I am no where near solving problems like this yet but it's really helpful getting exposed to all the realistic considerations involved in designing large scale systems.

Ответить
LeetDroid
LeetDroid - 20.04.2023 17:26

Hi NC, please what tools do you use for making your videos?
Hardware and Software tools

Ответить
Đạt Nguyễn
Đạt Nguyễn - 17.04.2023 19:43

Awesome video ! Your explaination is easy to understand and it's detailed enough for a video like this. Would be great if you do more videos about system design

Ответить
Samyar
Samyar - 16.04.2023 19:06

Great video 👌

Ответить
Dot T.
Dot T. - 18.03.2023 04:14

Nice clickbait

Ответить
tal32123
tal32123 - 08.03.2023 21:13

Where is the API gateway in relation to all this... Specifically in relation to the CDN?

Ответить
Dyanosis
Dyanosis - 06.03.2023 23:02

I'm not sure where you got the 100k, but the actual number you'd be looking for is 86400 - 24 * 60 * 60. But that doesn't make for easy math. Just saying though.

Ответить
Evgeny Ogryzkov
Evgeny Ogryzkov - 06.03.2023 10:00

Thanks for amazing design throughout

Ответить
Sina!
Sina! - 02.03.2023 17:14

Putting huge video files in a queue is too much and very costly and slow but instead you should have it in S3 and then just populate an event to Kafka/RabbitMQ/etc which is consumed by the encoding service that in turn knows it has to fetch video with id: XYZ and start encoding it.

Ответить
Sina!
Sina! - 02.03.2023 17:11

You can easily have a user service and store all of the users information including the uploader there, hence you don't need to have it stored alongside the video but just have a userId as reference. This way you have decoupled your systems and follow a more domain driven design and if the user data changes you don't need to go through 1000 of videos just to update a profile picture. At the beginning of every system design interview/document you'd better write down your domains in order to see what are the different services you need before jumping into the design.

Ответить
VY
VY - 28.02.2023 17:00

Hello Neet. I have a question. in the object oriented design interview course of yours do you have any roadmap planned like what future case studies you will be covering??

Ответить
Spongejohn Circlepants
Spongejohn Circlepants - 28.02.2023 14:56

These types of videos are such a blessings since it goes deep into a particular usecase or several design descisions which would be rather difficult to gain experience. I can try to learn as many frameworks as possible, do as many projects as possible, but if I dont have such real-world (or close to real-world) lessons like these I might be making mistakes that aren't so visible to the naked eyes.

Ответить
ArtForEigen
ArtForEigen - 17.02.2023 19:00

The thumbnail has uncanny similarity with Mr. Beast. I wonder why. mmm ..

Ответить
Saranya vivekanandan
Saranya vivekanandan - 13.02.2023 08:27

Hi, thank you so much for sharing amazing contents!

Ответить
David
David - 07.02.2023 01:59

The one thing that stumps me that gets asked all the time are things about updating the table of videos needed to be processed without losing the queue of videos that are to be processed. Any resources about improving the reliability of the encoding processor pipeline?

Ответить
Alexander Kulik
Alexander Kulik - 01.02.2023 02:02

Are you and eggwick (here on YT) the same person? You guys have the same voice :D

Ответить
Yasin Bhojani
Yasin Bhojani - 13.01.2023 15:15

Great Video!

Ответить
Souljacker
Souljacker - 08.01.2023 00:06

You are a great teacher. Thanks!

Ответить
Anupam Haldkar
Anupam Haldkar - 29.12.2022 14:45

Mr. Beast in the thumbnail OP!

Ответить
dib
dib - 28.12.2022 21:04

Neetcode - why we decided to use NOSQL for storing metadata rather than a relational DB and also how can we handle the use case you briefly touched upon where we don't want to upload the data again in case of a network partition during file upload?

Ответить
dib
dib - 27.12.2022 23:13

Could you pls design a notification system and ad click event generation system.

Ответить
SolutionShip
SolutionShip - 16.12.2022 02:55

Hi Neetcode. Thank you for your work. Would you mind sharing/telling us what whiteboarding app you use please? Thank you!

Ответить
NOURISH CHERISH
NOURISH CHERISH - 14.12.2022 09:22

Mrbeast Bait for leetcode. Nice

Ответить
funny baby vids
funny baby vids - 10.12.2022 09:39

what kind of Q can handle data in GBs?

Ответить
olegkikin
olegkikin - 10.12.2022 08:30

A single load balancer in front of all that? You're dreaming.

Ответить
M S
M S - 08.12.2022 22:31

Previous colors were better to demonstrate

Ответить