Do You have Time to Chat?
Let's build a chat app. But we're going to do it in a mind boggling way. Conversations take time to have, therefore rather than storing every message individually, we are going to store them in time. What does that even mean?
The first requirement is understanding immutable data. Most database systems overwrite old data with new data when there is an update. This preserves data in space, but loses its history. Immutable data is the idea of never changing data, but appending a new record every time. Such approach preserves history.