La diferencia entre SQL y NoSQL es que resuelven escenarios completamente diferentes y excluyentes
(para lo que es ideal SQL no lo es NoSQL y al revs).
SQL
SQL permite combinar de forma eficiente diferentes
tablas para extraer informacin relacionada (ej.
aquellos Empleados cuya Empresa tenga ms de x
Pedidos), mientras que NoSQL no lo permite o de
forma muy limitada.
SQL permite gestionar los datos junto con las
relaciones existentes entre ellos (ej. es comn
implementar ciertas reglas de negocio mediante
herramientas de SQL como restricciones, triggers,
claves ajenas, etc...), en NoSQL no suele (no puede)
haber este tipo de utilidades.
mbitos:
NoSQL
NoSQL permite fcilmente distribuir grandes
cantidades de informacin, mientras que
distribuir bases de datos relacionales (SQL)
requiere una cuidadosa planificacin (ej.
segregar el subsistema de consultas de la parte
transaccional de negocio).
NoSQL permite un escalado horizontal (por la
propia capacidad de distribucin) sin problemas,
mientras que escalar SQL (sino tiene un diseo
distribuido) es muy complicado (o imposible),
escalar SQL suele implicar comprar un servidor
ms potente.
mbitos:
Oracle Database
Microsoft SQL Server
MySQL
IBM DB2
IBM Informix
SAP Sybase
Teradata
MongoDB
BaseX
Cassandra
Hypertable
Oracle NoSQL
Redis