SQL vs NoSQL
SQL (relational) databases are the right default — strong consistency, mature tooling and flexible querying suit most applications. NoSQL wins for massive scale, flexible/evolving schemas or specific access patterns. Many systems use both, each for what it does best.
| Criterion | SQL | NoSQL |
|---|---|---|
| Data consistency | Strong (ACID) | Often eventual |
| Flexible / evolving schema | Requires migrations | Schema-flexible |
| Complex queries & joins | Strong | Limited |
| Horizontal scale | Harder | Built for it |
| Tooling & talent | Mature, ubiquitous | Varies by engine |
| Specific access patterns | General-purpose | Tunable per use case |
| Safe default choice | Yes | Situational |
Choose SQL when
Transactional apps, reporting, anything needing consistency and rich queries — the safe default for most business software.
Choose NoSQL when
Very high scale, rapidly changing or unstructured data, caching, real-time feeds, or a known high-volume access pattern.
The verdict
Start relational unless you have a concrete reason not to — most "we need NoSQL for scale" turns out to be premature. Then add a NoSQL store for the specific job it suits. Lazlo picks the data layer from your access patterns, not hype.