Situation: The client runs a mixed stack—RDBMS for transactions and NoSQL for sessions/search—asking whether to consolidate or stay polyglot.
Evaluation criteria
- Technical
- Data model fit: ACID vs eventual consistency; relational joins vs document/key-value access patterns
- Query patterns & latency: OLTP vs analytics, read/write ratios, fan-out joins
- Scalability & availability needs: horizontal scaling, sharding, multi-region replication
- Integration & ecosystem: existing drivers, tooling, analytics, backup/restore capabilities
- Operational
- Operational maturity: team skillsets, runbook coverage, monitoring/observability
- SRE costs: ops effort, automation, patching, failover complexity
- Day‑to‑day maintenance: schema migrations, backups, capacity planning
- Business
- Total cost of ownership: license, infra, labor
- Time-to-market & feature velocity
- Risk and regulatory: compliance, data residency, auditability
- Strategic roadmap: M&A, expected growth, product direction
Decision framework (stepwise)
- Catalog: map datasets, access patterns, SLA, growth projections, and cost per dataset.
- Score each dataset against criteria (fit-for-purpose matrix: e.g., 1–5 for consistency, query complexity, scale).
- Aggregate to identify groups:
- Strong NoSQL fit (high scale/simple queries, flexible schema)
- Strong RDBMS fit (transactions, complex joins, constraints)
- Ambiguous/legacy candidates
- Options per group:
- Coexist: keep both when each provides clear technical/financial benefit
- Consolidate to one: only if >80% of datasets score well for the target tech and TCO + risk favors it
- Migrate selectively: refactor ambiguous/legacy datasets to better-fit tech
- Risk & cost modeling: estimate migration effort, downtime, data-mapping complexity, and rollback plan.
- Pilot & metrics: pick a low-risk dataset for a migration pilot with measurable KPIs (latency, cost, developer productivity).
- Governance: define guidelines for future data store choices to avoid technical debt.
Example recommendation (common outcome)
- Continue polyglot persistence but reduce sprawl: keep RDBMS for transactional systems; keep NoSQL for high-scale/session/search; consolidate small, inconsistent stores into the appropriate primary store. Execute a 6–9 month migration backlog prioritized by ROI with a pilot, automated tests, dual-write/dual-read verification, and rollback procedures.
This approach balances technical fit, operational risk, and business value and produces a defensible, measured recommendation rather than a one-size-fits-all mandate.