Design Pastebin

Pastebin is an online application where users can store plain text. It is often used by developers to store pieces of sources code or configuration information, but anyone can essentially store any type of text. The idea behind the site is to make it more convenient for people to share large amounts of text online. Each piece of text that is pasted on Pastebin can be accessed through a unique URL

Functional requirement:

  • Store text: Allows users to input and save text.
  • Share text: Enables users to share the stored text with others. The system should generate a unique URL for each piece of stored text, which can be shared with others for viewing.

Scale requirement:

  • 1M Daily Active Users
  • Read:write ratio = 10:1
  • Data retention for 3 months
  • Assuming that each user performs 1 write operation per day.
  • Assuming that each paste is 10KB in size.
1. Resource Estimation