These are different primitives, not close substitutes
Cloudflare KV is the simplest edge key-value choice for read-heavy state. D1 is the serverless SQL choice. Durable Objects are the stateful coordination and compute choice. Even though they live in the same platform ecosystem, they should be chosen for very different reasons.
Teams get into trouble when they treat them like interchangeable storage checkboxes instead of distinct architectural primitives.
- Best simple distributed key-value: Cloudflare KV.
- Best serverless relational primitive: Cloudflare D1.
- Best coordinated stateful compute primitive: Durable Objects.


