Skip to content

Practice map

Practice should arrive when an idea is ready to become visible, not after you have finished the entire course. Use the shortest loop that answers your current question:

Read the picture → predict → simulate → run the real system → diagnose

You do not need every column on every visit. A simulation is enough for a first pass. Add the runnable lab when you want to inspect real metrics, and the incident when you want to practise deciding what those metrics mean.

The core practice loops

Idea Read Make it visible Run it Diagnose
Why one key becomes one bottleneck Partitioning Kafka partitions Kafka lab Kafka lag
Why distributed grouping moves bytes Spark shuffle Shuffle visualiser Spark lab Skewed join OOM
Why event time can stop Flink time Watermark simulator Flink lab Stalled watermark
Why physical order changes query cost ClickHouse ORDER BY explorer ClickHouse lab Slow query
Why label choices consume memory Cardinality Cardinality calculator Time-series lab Use the lab's head-series metric
Why a partition key is a capacity decision Cassandra Consistent hashing Cassandra lab Use the lab's partition histogram

Focused simulation loops

These simulations do not need a full service running locally. Each isolates one mechanism so you can change one variable and see the consequence.

Mechanism Read first Simulation Stop when you can explain
Queue growth and recovery Backpressure Backpressure calculator Why matching arrival rate stops growth but does not drain the backlog
Replica acknowledgements Kafka replication ISR failure simulator Why acks=all depends on the current ISR and min.insync.replicas
Snapshot metadata and pruning Iceberg Manifest explorer How a reader finds the current table without listing object storage
Row-group pruning Parquet internals Row-group explorer Why sorted data produces useful min/max ranges
Probabilistic skipping Columnar storage Bloom-filter playground Why false positives waste reads but never remove correct rows
DynamoDB hot keys DynamoDB Hot-key simulator Why table capacity cannot rescue one overloaded partition key
Slowly changing dimensions Data modelling SCD2 timeline Which version is valid for an event at a particular time

A 30-minute practice session

  1. Read through Build the mental picture on the linked concept page.
  2. Write one prediction before opening the simulation.
  3. Change one input only and explain the changed output.
  4. Return to Check your understanding on the concept page.
  5. Stop, or schedule the runnable lab as a separate session.

A 60-minute lab session

  1. Reproduce the simulation's safe case in the real service.
  2. Run the lab's Break step and watch the named metric.
  3. Run the automated check; a PASS proves the intended condition occurred.
  4. Open the paired incident and rank hypotheses before reading its resolution.
  5. Write one sentence connecting the design choice to the observed signal.

Start small: Kafka partitions is the easiest first simulation, and the Kafka lab is the most direct first system lab.