Minimal Modeling
Making sense of your database

Subscribe to the newsletter:,
or continue reading this page
Your database has grown organically. Like many companies nowadays, you use different database systems: relational, NoSQL, big data in the cloud, whatever.

There are hundreds of tables and thousands of columns in your system. There are multiple data migrations going on simultaneously.

The documentation is scarce.

Take a new engineer, or a new data scientist: how much time does their onboarding take? There must be a way to help them begin contributing faster than it happens now.

Even for the people who already work for the company: how long does it take them to understand a different project that they were assigned to?

I know, let's write some documentation!
At some point everyone tries documenting the database. Corporate wikis. Database schema visualization tools. ORM-based documentation. Google Docs. Custom-built web tools.

Typically, there are multiple attempts over the years.

For some reason, many such initiatives quickly lose traction. People just don't contribute, the documentation slowly becomes obsolete, the coverage is in single digits, the chosen tool is eventually abandoned.
Minimal Modeling approach
Minimal Modeling is a simple logical modeling approach inspired by Anchor Modeling.

We document the database by dissecting it into anchors, attributes and links, and also derived data and some textual narratives.

The resulting deliverables are a handful of spreadsheets and a number of documents (see examples below).

Minimal Modeling is designed to be collaborative, and it could be maintained anywhere: Google Sheets and Google Docs, Notion, Confluence, Roam, Airtable, Grist, Markdown in Git repo, you name it.

We accept the reality of your existing databases: we do not require any changes in your database schema and your data storage system: no refactoring, no data migration, we're focused on describing and documenting it as it is.

Our approach is completely aligned with and compatible with all common approaches to database management: relational, NoSQL, schema-free, data warehousing, OLAP solutions, whatever.
Case study
“A modeling of a thousand columns begins with a single anchor.”
— Old Minimal Modeling proverb.
See how 400 database columns in 60 tables could be documented in 4 spreadsheets and as many narratives as you need. Spreadsheets and narratives are carefully designed for compounding incremental improvements.

Click here to see how a real-world database is documented in Minimal Modeling (in Notion).

Implementing Minimal Modeling
I'd love to hear about your data modeling situation and concerns and see if I could help.

I have some experience with helping people to improve some of the processes around data, such as:
faster onboarding of data analysts and such;
documenting your data in sustainable way;
reducing time and salary spent on unnecessary data-related software development;
managing data quality;
• using Minimal Modeling approach in your data product;

Let's schedule a one-hour call, discuss what you have, and see if I can help.
We have a number of successful implementations of Minimal Modeling, with the following observed results:

1/ You get an actually usable documentation for your data.

2/ Teams get a common vocabulary that lets different stakeholders to speak the same language.

3/ Much faster onboarding of new team members.

No database changes are required to introduce Minimal Modeling. However, it may help you to better understand the semantics of your data, and it help with the refactoring.

Alexey Makhotkin is an independent researcher in the field of database modeling. He's been working with databases since 1996 in a number of roles.

Subscribe to the weekly Substack newsletter:

Follow on Twitter: @alexeymakhotkin
Made on