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:
Scale requirement: