Stage 1 of 9 · 6 lessons · ~1 week
Start from the data, not the product
Before picking a database, describe the data: its shape, how it is read and written, how correct it must be and how much there will be. These answers choose the database for you.
Start: Structured, semi-structured and unstructured dataLessons· one lesson for each topic, in this order
Do this
- Choose one project you are building or want to build and write two sentences about it.
- List its data and label each item structured, semi-structured or unstructured.
- Write its five most important access patterns, with how often each runs.
- Estimate the number of records after one year for the biggest table or collection.
- Mark which data must be exact and which can be a little behind.
- Save all of this as a short data brief in the project README.
Start with· follow one of these
- CoursePaidGrokking Database Fundamentals for Tech Interviews
Design Gurus · Beginner · Subscription
A structured tour of database types, SQL versus NoSQL, ACID and indexes before you compare products
- CourseFreeCS50's Introduction to Databases with SQL
Harvard University · Beginner
Free Harvard course: the first lectures show how real data is modelled and queried
Practise
Keep handy
Also worth your time
Before moving on: A one-page data brief for a project you care about: its data shapes, top five access patterns, rough sizes, which data must be exact, and any search, similarity or reporting needs.

Every stage after this one ends with "use it when" and "avoid it when". Those only make sense once you know your own data. Pick one real project now, even a small one like a society event app or a family shop, and carry its data brief through the whole roadmap. If you are stuck between the two most common picks, sefism.com/questions/postgres-or-mongodb-for-my-project/ walks through it.