Back to Problems

Design Dropbox

Design a file hosting service such as Dropbox or Google Drive. A cloud file hosting service allows users to upload, download, and share files across different platforms. It should support multiple file types including text, images, and multimedia formats. For this problem let's focus on the backend system that stores and syncs them between different devices.

Functional requirement:

  • Users should be able to put files in a Dropbox folder on their devices. Files in the Dropbox folder should be sync automatically across a user's devices.

Scale requirement:

  • 100 million daily active users and 10 daily file syncs per user
  • Write:read ratio is 1:1
  • File size: Assume average file size is 1 MB
  • Data retention: Assume average users use the service for 10 years

1. Resource Estimation