Self-Assessment Quiz: The Modern Data Stack

Twenty questions. Aim for 16 or more. This is the most perishable chapter in the book — the category questions matter more than the product questions.


Question 1

The chapter's main objection to the phrase "modern data stack" is that it:

  • A. Is technically inaccurate
  • B. Implies a package, implies legacy-versus-modern, and obscures operational cost
  • C. Was coined too recently
  • D. Excludes streaming architectures

Question 2

The systems-per-engineer heuristic suggests a sustainable ceiling of roughly:

  • A. One system per engineer
  • B. Two systems per engineer
  • C. Five systems per engineer
  • D. There is no useful ceiling

Question 3

Which is NOT one of the eight tool categories?

  • A. Orchestration
  • B. Reverse ETL
  • C. Version control
  • D. Catalog and governance

Question 4

The pattern most teams converge on for ingestion is:

  • A. Buy everything — connectors are never worth building
  • B. Build everything — managed tools always cost more
  • C. Buy connectors for third-party SaaS sources, build for your own systems
  • D. Use a single tool for all sources

Question 5

Managed ingestion tools are typically priced:

  • A. Per connector, flat
  • B. Per row or monthly active row
  • C. Per seat
  • D. Per compute-hour

Question 6

Why is Kestrel's clickstream unsuitable for a row-priced ingestion tool?

  • A. The events are semi-structured
  • B. At 420M rows a month, per-row pricing is out of the question by orders of magnitude
  • C. The tool cannot connect to Kafka
  • D. The schema changes too often

Question 7

Which category does the chapter identify as most expensive to lack?

  • A. Catalog
  • B. Reverse ETL
  • C. Data quality
  • D. BI

Question 8

Which category's absence compounds fastest?

  • A. Orchestration
  • B. Transformation framework
  • C. Ingestion tool
  • D. Warehouse

Question 9

The main reason to use a transformation framework rather than plain scripts is:

  • A. SQL compilation performance
  • B. It forces business logic into version-controlled files with a dependency graph
  • C. It reduces warehouse compute cost
  • D. It is required for incremental models

Question 10

Where should a small team start with data quality?

  • A. A commercial data observability product
  • B. Great Expectations
  • C. dbt's built-in tests
  • D. Custom Python assertions

Question 11

The biggest substitution this book makes is:

  • A. MinIO for S3
  • B. DuckDB for a cloud warehouse
  • C. Local Spark for EMR
  • D. Airflow LocalExecutor for CeleryExecutor

Question 12

Which is NOT one of the three ways DuckDB differs from a cloud warehouse?

  • A. Single-process with one writer
  • B. Storage and compute are not separated
  • C. No cost meter
  • D. It does not support window functions

Question 13

What is the only line of boto3 code that differs between MinIO and S3?

  • A. aws_access_key_id
  • B. region_name
  • C. endpoint_url
  • D. service_name

Question 14

Why does the compose file set wal_level=logical in Chapter 5?

  • A. It improves write performance
  • B. It is required for MinIO integration
  • C. CDC needs it later, and changing it requires a database restart
  • D. It enables point-in-time recovery

Question 15

minio-init waits on condition: service_healthy rather than the default because:

  • A. The default waits too long
  • B. depends_on alone waits only for the container to start, not for the service to accept connections
  • C. MinIO does not support depends_on
  • D. It reduces startup time

Question 16

Which is NOT on the chapter's list of things a small team can safely leave out?

  • A. A feature store, before models share features
  • B. A data mesh, before the central team is a bottleneck
  • C. A transformation framework
  • D. Kubernetes, unless you already run it

Question 17

Below roughly what conditions does the chapter say you may need no data platform at all?

  • A. Under 1 TB and 50 people
  • B. Under a few hundred GB and about ten people
  • C. Under 10 GB and five people
  • D. Any company without streaming requirements

Question 18

In the 🏭 callout, nine months of work by two engineers produced:

  • A. A 10× query speedup
  • B. A query two seconds slower than a PostgreSQL replica with two indexes added
  • C. A platform that failed to launch
  • D. A 40% cost reduction

Question 19

Which evaluation criterion does the chapter say is invisible at purchase and decisive later?

  • A. Price scaling
  • B. Exit cost
  • C. 3am debuggability
  • D. Maintenance burden

Question 20

"Who else uses it?" should be sharpened to:

  • A. Who has the most users
  • B. Who uses it at your scale
  • C. Which Fortune 500 companies use it
  • D. How many GitHub stars it has

Answer Key

1. B — §5.1. The categories are stable; the products are not, and the framing hides the pager rotation.

2. B — §5.1. Roughly two systems per engineer, with genuine coverage on each. It costs you tools that would genuinely help — Kestrel forgoes a catalog on exactly this basis.

3. C — §5.2. Version control is assumed throughout rather than being a data platform category. The eight are ingestion, storage, transformation, orchestration, quality, catalog/governance, BI, and reverse ETL.

4. C — §5.2. A Salesforce connector is worth paying for; an extract from your own PostgreSQL is a hundred lines you fully understand.

5. B — §5.2, §5.3. Which means the bill scales with data volume rather than with value received.

6. B — §5.3, 💸 callout. Per-row pricing has a volume ceiling above which it is simply the wrong product, which is why real platforms have both a bought and a built path.

7. C — §5.3. Without it you find out from a stakeholder.

8. B — §5.3. Business logic scatters into scripts and the scattering accelerates.

9. B — §5.2. Compiling templated SQL is not the hard part; making transformations reviewable, testable git artifacts is.

10. C — §5.2. Uniqueness, not-null, referential integrity, and accepted values cover the large majority of what catches real problems, for nine lines of YAML.

11. B — §5.4, 🧭 Version Note.

12. D — §5.4. DuckDB's SQL is excellent, window functions included; that is why it is the right teaching choice. The three real gaps are concurrency, storage/compute coupling, and cost.

13. C — §5.6. Remove endpoint_url, supply real credentials, and the same code runs against S3.

14. C — §5.6. Better to have the setting in place before there is data you care about.

15. B — §5.6. This is the source of the "works on the second run" class of problem, which is dangerous precisely because it looks like it works.

16. C — §5.5. A transformation framework is one of the two things to have before anything else.

17. B — §5.7. And the three conditions to move are all observable, which is what a good reversal condition looks like.

18. B — §5.7. The mechanism is worth remembering: an architecture reproduced from a previous job without re-deriving whether its premises transferred.

19. B — §5.8. Ask it at purchase, when nobody wants to think about it.

20. B — §5.8. Fortune 500 logos tell you nothing about whether a tool works for four engineers.


Topic map

Missed Reread
1, 2 §5.1 — the term and the operational ceiling
3, 4, 9, 10 §5.2 — the eight categories
5, 6, 7, 8 §5.3 — buy, build, or do without
11, 12, 13 §5.4 — what this book uses and how it leaks
16 §5.5 — what to leave out
14, 15 §5.6 — the local stack
17, 18 §5.7 — when you need none of it
19, 20 §5.8 — evaluating a tool