This article is
first one from the series of articles dedicated to system design
interviews. Here i am going to present the base scenario to consider
before starting to solve system design problems. Questions to ask? 1) what is the
number of requests a website will recieve in a day/month/second? 2) what is the
amount of memory a website will deal in a day/month/second? 3) what is the
number of servers that can accomodate these requests? To answer this ,
first we need to remember the below numbers:- 1 million = 10 lakh
= 1000000 = 10^6
1 billion = 1000
million = 10^9 1 KB = 1024 B = 10^31 MB= 10^6 = 1024 KB
1 GB= 10^9 = 1024 MB1 TB = 10^12 = 1024
GB Memory we need to
see in BytesRequests we need to
see in numbers example :-
suppose a website
recieves 100M requests every month then:- requests per day =
request per month /24 = 416700 requests requests per second
= requests per day / (24*3600) = 4.8 requests per second memory:- if we take 20:80
principal where 20 percent is write and 80 percent is …
Suppose there are 12 Million of users are adding every year meaning 1
Million per month.
So if we consider 5 year there will be around 60 million of users.
Now in terms of data we can look to our DB table and get information
about it. A user will be generally having name , id , address , some
forien keys .
Lets assume 10 columns with each column on an average storing 4 byte
10*4 = 40 bytes of data for one user.
60 * 10^6 * 40 = 2400 * 10^6 = 2.4 * 10^9 = 2.4 GB of data we need to
store only user values.
Also while calculating storage for the user there is also one
important point we need to remember is of ids. If we are going to
have 60 Million of users which means 60*10^6 users so unique id’s
as we know below figures are almost equal
then 60*(10^3)^2 = 2^20 *2^6
which means we almost need 26 …