On average if user adds/modifies close to 100 files, we will have a total of 10B uploads daily. High Availibility - Service should be always up to allow users to read their data any time.Īccording to the stats Dropbox has around 600M users, out of which we can assume that 100M users are active daily.Security and Permissions - Data should be secured using encryption and should be visible to only those people who have the permission to view the files.Ībove are the functional Requirements of the Dropbox service, Here are some non functional requirements.Support Offline operation such as adding/deleting/updating files and folders in workspace, these changes should be synced to server and other clients once you are online.Ability to share files and folders with other people.Automatic Versioning and Syncronize data among different clients - Desktop, Mobile, Web etc.Upload, Download, Update and Delete of all files and folders in the workspace.Requirement Gathering Features of Dropbox, Google Drive and One Drive Delta Upload - Only the part of files that have changed should be synched on remote servers, For this client application should be intelligent enough to identify the chunks that have changed.To prevent data deduplication, dropbox like services breaks the files in chunks of 4MB and then maintain unique identifier for each chunk. Data Deduplication - Files should be deduplicated, to prevent multiple copies of the same file on the server.ACIDity requirement - Strong ACID compliance is required, If we delete a file in a folder and then and then share with other people, it should not be the case that the folder is shared first and people are able to see the deleted file for some time, before it is vanished.Heavy Write Volume - Read to Write ration roughly 1: 1. This will help you understand how such services work behind the scenes and help you answer system design questions like "How to Design Google Drive", "How to Design Dropbox" or "How to Design One Drive"Ĭloud Storage Services have become very popular as they allows you to access your data anywhere and anytime you want it, on multiple devices without manually transfering data or maintaining disks. In this Article, we will learn "How to Design a Cloud Storage Service".
0 Comments
Leave a Reply. |