Minimal Modeling of Twitter.com, video recording
We did a “Minimal Modeling of Twitter.com, without database” Zoom call on January 23rd, 2023. Eleven people joined, 34 registered — thank you!
Here is the recording: https://www.youtube.com/watch?v=NAadtRdB2DQ (59 min).
Here is the Twitter data model that we managed to do in an hour: https://www.notion.so/mokumplace/Case-study-Twitter-2348e0753a9744a6b4147cce17c7c707
Also, all of this means that we now have the YouTube channel: https://www.youtube.com/@minimalmodeling.
Some comments about the video. First, I intentionally did not prepare for the recording. Of course, the problem domain is pretty well known, so the modeling was rather straightforward. However, I wanted to show how the modeling happens in more realistic conditions, when you don’t exactly know how the end result will look like. I even forgot about the “User writes Tweet” link which should be almost the first thing that comes to mind.
Second, why do you need a minimal model of your service? The more we use Minimal Modeling the more we find that it seems to be some sort of a missing piece in the data architecture. It helps you organize the company knowledge base of your data.
It is incremental and accumulating: in an hour we’ve added 4 anchors, 11 attributes and 9 links. You can add new objects to that Notion page, documenting the Twitter features that you’ve learned. And the rows that are already there would be relevant for a long time, as long as Twitter stays Twitter.
It has a low barrier to entry: anyone can edit the tables. This allows to remove the potential bottleneck in your organization: you don’t need to have dedicated people who own the database documentation (technical writers or whatever).
It is structured and extensible. You can add more columns to the documentation tables. For example, if your company adopted the idea of code ownership then you can add an “Owner” column and input the names of the teams responsible for this or that piece of data.
It’s collaborative. It’s clear that the Notion page (or a Google Spreadsheet, or https://www.getgrist.com/, or many other tools) allows you to instantly share the knowledge about some corner of your data with your colleagues.
It reduces the time needed for the onboarding. The minimal model document is a very good starting point for somebody who just joined the company. They will have an overview of the database, and they will learn the common vocabulary from the start.
It’s database-independent. The point of this video was that you can make a minimal model without any knowledge of the underlying database. You can use this model in Twitter the company, add the “physical storage” column to each of the tables, and then you just need to enter the details on where each piece of data is stored, in terms of physical databases, tables, and columns.