SQL vs NoSQL: cuándo tiene sentido cada uno
· 7 min
"SQL vs NoSQL" suele tratarse como una pregunta de rendimiento, pero la bifurcación real está en el modelo de datos y en las garantías de consistencia, no en la velocidad bruta.

Lo que SQL garantiza que NoSQL generalmente no garantiza gratis
Las bases de datos relacionales garantizan consistencia fuerte, transacciones que atraviesan múltiples tablas y filas (ACID) y consultas vía join sobre datos normalizados. Esto vale mucho cuando el dato tiene muchas relaciones que necesitan permanecer consistentes entre sí todo el tiempo.
Lo que NoSQL optimiza y SQL sacrifica
Las bases de datos NoSQL (documento, clave-valor, wide-column) típicamente optimizan para escala horizontal y esquemas flexibles/desnormalizados relajando las garantías transaccionales entre registros, cambiando parte de la consistencia por throughput de escritura y un particionamiento horizontal más simple.
Dónde de verdad duele la elección equivocada
Modelar un dato profundamente relacional, un libro mayor financiero, un inventario con invariantes entre varias tablas, en una base de datos de documentos obliga a la aplicación a reimplementar a mano verificaciones de consistencia que la base relacional garantizaría sola. Del otro lado, forzar un patrón de acceso altamente desnormalizado y en constante cambio dentro de un esquema relacional rígido genera migraciones constantes y queries pesadas con join que no escalan.
El camino más común en la práctica
La mayoría de los sistemas a escala real usan los dos: relacional para el núcleo de datos transaccional, y una capa NoSQL o de caché para el dato derivado, de lectura pesada, o poco estructurado, en vez de elegir uno solo para todo el sistema.