Chapter 33 — Further Reading
The landscape (everyone)
- Martin Kleppmann, Designing Data-Intensive Applications — the best single source on data models (relational, document, graph), storage engines, and the trade-offs. Chapters 2–3 map directly onto this chapter. Strongly recommended.
- "NoSQL distilled" (Sadalage & Fowler) — a concise tour of the four families and when each fits.
By family (💻 Developer · 🏗️ DBA)
- MongoDB docs / "Data modeling in MongoDB" — embedding vs. referencing; where document modeling helps and where it hurts (the integrity trade-offs of Chapter 1's Lumen).
- Redis docs / "Redis as a cache" — caching patterns, TTLs, eviction (Case Study 1).
- Cassandra: "Data modeling by query" — designing tables around access patterns; why it scales writes.
- Neo4j / Cypher tutorials — graph modeling and traversal (Case Study 2); when graph beats joins.
Theme #4: PostgreSQL alternatives (💻 Developer)
- PostgreSQL JSONB (Chapter 16) — covers most document needs.
- "Is PostgreSQL good enough?" essays — the common finding that one capable relational database replaces several specialized stores.
pgvector, PostGIS, full-text,hstore— PostgreSQL extensions covering "specialized database" needs (Chapter 36).
Consistency & scale (🔬 CS Student)
- CAP theorem and BASE — read ahead to Chapter 35 for the consistency/availability trade-offs NoSQL systems make.
- "Eventual consistency" explainers — what it means for your application's correctness.
Reference (this book)
- Chapter 16 — Advanced SQL: JSONB/full-text (the PostgreSQL answer to document/search).
- Chapter 35 — Distributed Databases: CAP, sharding, NewSQL.
- Chapter 37 — The Database Decision: the framework for choosing among all of these.
Do, don't just read
- For one "we need NoSQL" idea, prototype the PostgreSQL version (JSONB / full-text / recursive CTE) and judge whether it suffices (theme #4).
- Try a graph query (e.g., a small Neo4j sandbox) for a deep-traversal problem and compare to the equivalent SQL self-joins.
- Add a Redis cache (Case Study 1) in front of a hot Mercado query and measure the read-load reduction.
Next: Chapter 34 — Data Warehousing: databases built for analytics.