NoSQL (Not only SQL) es un término que se utiliza para describir un conjunto de sistemas gestores de bases de datos pero no relacionales, muy en contraposición con los sistemas basados en SQL, los típicos sistemas relacionales y transaccionales.
Los sistemas NoSQL están diseñados para manejar grandes cantidades de datos, y que incluso esos datos no cumplan con la misma estructura, es por ello que se dice que las bases de datos NoSQL suelen ser un poco más abiertas en ese sentido, y que el acceso a los datos suele ser más eficiente y escalable.
Las bases de datos no relacionales tienen una mayor flexibilidad y escalabilidad a la hora de acceder a los datos.
Cuando usar SQL y NoSQL
En esta imagen se muestra un esquema de cuando usar uno u otro tipo de sistema gestor de base de datos.
Ventajas y usos de NoSQL
Algunas de las ventajas que tiene el uso de gestores de bases de datos son las siguientes:
- Escalabilidad: cuando diseñamos una base de datos NoSQL, estará diseñada para grandes cantidades de información, para aumentar la escalabilidad. Va a manejar un gran cantidad de datos sin degradar el rendimiento.
- Flexibilidad en el modelo de datos: no necesitamos tener una estructura exactamente igual para cada uno de los registros que tengamos, sino que cada registro puede variar de un momento a otro, a diferencia de SQL que tiene un esquema bien definido.
- Velocidad: están diseñadas para dar un alto rendimiento, lo que significa que podemos manejar una gran cantidad de información de forma rápida y eficiente, sacrificando un poco la identidad referencial, el manejo de las relaciones e incluso tener información duplicada.
- Disponibilidad.
- Big Data: con la gran cantidad de datos que se están creando a diario. Los sistemas NoSQL se ajustan para poder manejar mejor toda esta gran cantidad de información de manera eficiente.