Memory and Estimations of the System
Let’s start with the estimation and constraints because these things help us to make better design decisions that’s why we do estimations along with the requirement gathering.
Assumptions:
Let’s assume the system is designed for 100M users.
So, the number of concurrent users=100M
And out of all these users, 1/10 of the people are actually scheduling the event.
So, 1/10 post invites=10M
And assuming a particular person creates 5 events in a day.
So, 5 events/ user=50M invites per day
So, storage for 1 invite={ Meeting content +userId, invite list+date }
= 1 KB
Therefore, the Total storage=1KB*50M
= 50,000,000KB
= 50GB/day
Storage for 1 year = 50*365
= 20TB/year
System Design – Design Google Calendar
Google Calendar is like a special calendar that we can use on our computer or phone. We can use it to remember important things, like birthdays, appointments, and events. We can also set reminders to help us remember when something is coming up soon. We can also share our calendars with our family or friends. It’s like having our own special schedule that helps us keep track of everything that we need to do.
With Google Calendar, we can quickly schedule meetings and events and get reminders about upcoming activities, so we always know what’s next.
Contact Us