Database schema and design
We would have the following tables to work along:
It is basically about understanding the requirement from a functional perspective and deciding how we are going to utilize the database and how are we going to design it.
While our data model seems quite relational, we don’t necessarily need to store everything in a single database, as this can limit our scalability and quickly become a bottleneck.
We will split the data between different services each having ownership over a particular table. Then we can use a relational database such as PostgreSQL or a distributed NoSQL database such as Apache Cassandra for our use case.
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.