Course contents
On this page
Lesson plan

Lesson plan 43: SQLite and PostgreSQL

Compare SQLite and PostgreSQL by deployment, concurrency, recovery, and operational boundaries.

Placement: Part 8: Architectural case studies and synthesis.

Prerequisites: Lesson 42: Observability and verification, plus the earlier dependency chain.

Learning outcomes

  • Compare SQLite and PostgreSQL by deployment, concurrency, recovery, and operational boundaries.
  • Explain SQLite writer serialization and WAL snapshots without claiming readers never affect maintenance.
  • Explain PostgreSQL’s server execution, MVCC, and background responsibilities in terms of workload fit.
  • Separate a general mechanism, a documented implementation choice, and an illustrative numerical assumption.

Teaching sequence

  1. Establish the motivating situation: A local application and a shared SaaS service need the same relational rules but different ownership boundaries.
  2. Introduce the vocabulary and the correctness obligation before an optimization. Define embedded deployment, server deployment, writer concurrency.
  3. Develop the mechanism: Compare equivalent transactions and durable settings; distinguish deployment topology from logical capability.
  4. Follow the complete worked example: Moving 20 dependent 0.5 ms calls in process removes up to 10 ms communication in the stated example. Explain the assumptions, intermediate units, and limiting interpretation.
  5. Extend the scenario to changed load, skew, or failure, explaining persistence, SQL, operations.
  6. Connect the mechanism to a documented implementation and an alternative with a different workload fit. Close by stating the remaining cost and the next lesson dependency.

Required chapter material

Use a complete execution trace or worked calculation, supported by an annotated static diagram or table. Include language-neutral pseudocode or labeled SQL when it clarifies the mechanism. State preconditions, ownership, visibility, and failure boundaries for algorithms. Describe operational costs as well as the normal path. All questions raised in the narrative must be resolved in the text.

Visual explanation

An embedded-call path and a server-request path perform the same operation; a concurrency table makes writer, reader, and maintenance boundaries explicit. The accompanying prose explains the arrows, state changes, or table entries so the lesson remains understandable in a plain Markdown reader.

Editorial checks

Confirm that the numerical example agrees with its units and assumptions. Check that a faster path preserves the stated contract, or explicitly identify the changed guarantee. Keep hypothetical figures separate from product measurements. Explain both an appropriate use and a limitation of the case design. Check terminology against the glossary and links against the course index.

Primary source set

Read the lesson · Curriculum