Polyglot persistence is normal at scale: relational for money and constraints, document or wide-column for flexible profiles or events. The failure mode is updating both casually without an explicit owner.
- Name a primary store per aggregate; others are projections rebuilt from events or jobs.
- Use outbox or CDC to propagate changes; avoid dual writes from the request thread.
- Version documents (`schemaVersion`) so readers tolerate rolling upgrades.
Redis often fronts both SQL and NoSQL read models for hot endpoints.
