<aside>
💡 Generated by BigBrain. Repeated material was merged while distinct trade-offs, caveats, examples, and operational details were retained.
</aside>
13 - System Design Case Studies
This topic explores end-to-end product designs and broad company architecture studies, including URL shorteners, social systems, file sharing, location tracking, commerce, and other complete design exercises. The following sections consolidate insights from various case studies, focusing on system requirements, architecture, trade-offs, and operational considerations.
Dropbox: File Sharing and Synchronization
System Requirements
Functional:
- Upload, update, and organize files in directories.
- Share files or directories with read-only or read-write permissions.
- Offline file editing with synchronization upon reconnection.
Non-Functional:
- Data durability and availability.
- Scalability for millions of users.
- Strong consistency to ensure all clients see the same file state.
- Security to restrict access to authorized users.
- Reasonable response times (e.g., sub-second for directory listing, 1–10 seconds for uploads/downloads).
Consistency is critical for Dropbox, as eventual consistency would fail to meet user expectations for file systems.
Capacity Estimation
- 200M DAU: Each user reads twice and writes once daily.