Grokking the System Design Interview
Vote

0% completed

​

Designing Pastebin

1. What is Pastebin?

Pastebin like services enable users to store plain text or images over the network (typically the Internet) and generate unique URLs to access the uploaded data. Such services are also used to share data over the network quickly, as users would just need to pass the URL to let other users see it.

If you haven't used pastebin.com before, please try creating a new 'Paste' there and spend some time going through the different options their service offers. This will help you a lot in understanding this chapter.

.....

.....

.....

Like the course? Get enrolled and start learning!
A

Anonymous

· 2 years ago

You store a user ID but in your api definition you rely on api_dev_key. These keys shouldn’t be predictable so if they are your user ids (primary keys), they would be easily predictable. do clarify this.

A

Anonymous

· 3 years ago

what is the benefit to store metadata and object content in different systems and why do we need to store metadata?

Show 1 reply
A

Anonymous

· 3 years ago

More recently, some companies (like Shopify) are debating between having a microservice architecture, versus having a monolithic service architecture with modules. Can the KGS live in the application layer as a separate module? Can someone compare the pros and cons of each approach?

A

Anonymous

· 4 years ago

Can BLOB be used to store the paste's text?

Show 1 reply
A

Anonymous

· 4 years ago

In the DB Design, why is the URL hash size 16 instead of 6?

Show 2 replies
A

Anonymous

· 4 years ago

For KGS service, to move data to application server cache, don't we need a LB to distribute across all servers?

Show 1 reply
A

Anonymous

· 4 years ago

What is the benefit of using Object Storage instead of storing the text in the Paste table in the database? I know pastebin allows you to store images, which would require object storage, but the requirements for this state "Users will only be able to upload text".

Show 2 replies
A

Anonymous

· 4 years ago

In the "Memory estimates" section, at the end of "4. Capacity Estimation and Constraints", it states "Since we have 5M read requests per day, to cache 20% of these requests, we would need: 0.2 * 5M * 10KB ~= 10 GB". But wouldn't we be caching the 1M pastes instead of the 5M reads? Your clarification is greatly appreciated.

Show 1 reply
A

Anonymous

· 5 years ago

With regards to System APIs, the tutorial suggests the fetch API to be "getPaste(api_dev_key, api_paste_key)" - I wonder why we ask for the api_dev_key? Shouldn't this be an un-authenticated quota-less API call? I see why add/delete require this parameter but seems best to not ask for it with "get."

Show 1 reply
A

Anonymous

· 5 years ago

Kevin Cox It would be great to have a little more info on differences between the block cache & metadata cache

Reading Progress

0%


Vote for new content