-
Requirement analysis
- Functional Requirement
- Non Functional Requirement
- out of scope Functional Requirement
-
Capacity Estimation
- Assumption
- Storage manage
-
Component Design (Some one called Microservice)
-
Client Component
-
Meta Data service
- Blog Info(Details onfo of any object)
-
Block Service(Block Mean object data or data)
-
Notification Service
-
DB schema Design
-
API design Like
- get object
- chunk upload
- Download chunk
-
Performence
-
Scalability
-
Security
User - Paid user - Non paid user
Now we consider onlu non paid user
- user any device
- file folder share
- Automatic synchronigation across
- offline edit
Non Functional Requirement
- Highly Reliable(any file)
- Highly abilable
- 500 millon total user
- DAU( Daily active user)
- 200 file upload daily user
- file size 100kb
- active connection (per minit)
- 200x500 = 100 billon(number file)
- storage: 100 billon x 100kb = 1000 billon(10pb)( 10^3x10^3x10^3x10^3 = 10^3 )
-> Data -> SHA256 -> hid
- 100kb -> make chunk => 25
- total chunk = 100bx25 ( 2500B ) chunk data