NoSQL, ¿qué es?
NoSQL o también llamado “no solo SQL” es un concepto que hace referencia a las bases de datos que, por lo general, no utilizan SQL como lenguaje de consultas. Se trata de un tipo de base de datos muy conocida en el mundo del desarrollo debido a que son fáciles de desarrollar gracias a la cantidad de funcionalidades que ofrece a la par que el rendimiento a escala.
Motivos por los que utilizar una base de datos NoSQL
En la actualidad, las bases de datos NoSQL ofrecen la posibilidad de adaptarse sin problemas a muchas aplicaciones modernas como pueden ser aquellas desarrolladas para la web o para dispositivos móviles. Se destacan las siguientes características de las bases de datos NoSQL:
- Escalabilidad: se encuentran diseñadas para escalar haciendo uso de clústeres distribuidos de hardware en lugar de escalar añadiendo servidores sólidos y caros.
- Alto rendimiento: se encuentran optimizadas para modelos de datos específicos y patrones de acceso que ofrecen mayor rendimiento en comparación con las bases de datos relacionales.
- Flexibilidad: este tipo de base de datos ofrecen a los desarrolladores esquemas flexibles que permiten desarrollar de manera iterativa y rápida, por ello, son ideales para datos del tipo semiestructurados y no estructurados.
- Alta funcionalidad: en función del modelo de datos, estas bases de datos ofrecen APIs de alta funcionalidad a la vez que ciertos tipos de datos.
Características de las bases de datos NoSQL
Este tipo de base de datos no hacen uso de estructuras fijas como son las tablas, si no que la información se almacena a través de documentos, lo que se presenta como una ventaja cuando no se dispone de un esquema exacto de lo que se va a almacenar.
Además, se caracterizan por soportar una estructura distribuida, mayor flexibilidad y optimización para grandes cantidades de datos.
No soportan las operaciones hechas a través de JOIN y tampoco garantizan cumplir el principio ACID (que hace referencia a la atomicidad, consistencia, aislamiento y durabilidad)
Ejemplos de bases de datos NoSQL
A continuación, se presenta un listado de este tipo de bases de datos:
- MongoDB.
- CassandraDB.
- Redis.
- CouchDB.
- Neo4j.