Grokking the System Design Interview

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!
J

JC Denton

· 5 years ago

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

B

Brian Sunbury

· 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
P

Pramod Kumar

· 5 years ago

Hi Team, Can we have a system design problem solution for e- commerce sight like amazon / flipkart

B

Brian Sunbury

· 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
C

Cristian Grigore

· 4 years ago

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

Show 1 reply
A

Asish Balu

· 4 years ago

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

Show 2 replies
J

Junaid Effendi

· 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

Aaron Rosenzweig

· 4 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
Samarth Shah

Samarth Shah

· 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?

Cadence chen

Cadence chen

· 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