Recurse

Learn how data systems really work

The ideas behind the book Designing Data-Intensive Applications, in short lessons: trade-offs, data models, storage engines, encoding, replication and more. A way to learn the concepts a little each day, alongside the book or on its own.

Free, about three minutes a lesson, 29 units. On the web now; the Android app is coming to Google Play.

Start free

What you will learn

Trade-offs in data systems

Weigh operational versus analytical, cloud versus self-hosted, one node versus many.

Nonfunctional requirements

Describe performance, reliability, scalability, and maintainability precisely.

Data models and query languages

Pick relational, document, graph, or event models, and query each one.

Storage and retrieval

Know how databases store and find data, for transactions and for analytics.

Encoding and evolution

Encode data so old and new code can keep working together.

Replication

Keep copies of data on many machines, and live with the lag.

How it works

  • A short idea first, then quick questions: tap an answer, order lines, sort, match or find the bug.
  • Wrong answers come back at the end until they stick.
  • Streaks, XP, leagues and races with friends keep the habit going.
  • Spaced review brings back what you are about to forget.

Other courses