Grokking the System Design Interview, Volume II
Vote

0% completed

​

Step 5: Data Model and Storage

Two questions drive every table in this step. The scheduler asks "what is due now?" many times a second. The app asks "what reminders does this user have?" whenever a user opens it. No single key answers both quickly, so the design stores each active reminder twice: its definition keyed by user, and its next fire time keyed by time. Storing data more than once so that each read is a direct lookup is called denormalization.

Reminders

The Reminder Service owns this table. Each row holds one reminder's definition:

  • user_id and reminder_id
  • title, the message text
  • `channels

.....

.....

.....

Like the course? Get enrolled and start learning!

Reading Progress

0%


Vote for new content