Decide when to model around joins, emulate relationships, or rely on transactional features in NoSQL systems.
This section bridges the chapter overview and the detailed lessons below. For Java engineers, the practical question is how to handle joins and transaction boundaries in NoSQL designs in Clojure code at the database boundary.
| Review focus | What to check |
|---|---|
| Relationship shape | Decide whether duplication, lookup, or embedding is clearer. |
| Atomicity | Know which invariants must be protected by the database. |
| Clojure code | Keep compensating logic visible and testable. |
Use the child lessons to move from concept to implementation. The section goal is to make the trade-off visible before the code hardens around a database assumption.