Calidad Europea
Acceso estudiantes
Volver

Bases de Datos NoSQL: qué son y cuáles son sus ventajas

En UNIR México te contamos todas las claves de este tipo de Bases de Datos y por qué su uso es tan frecuente.

Bases de Datos NoSQL: qué son y cuáles son sus ventajas

Una Base de Datos (BBDD) es un conjunto almacenado de información para ser procesada. Los Sistemas Gestores de Bases de Datos son las aplicaciones de software que permiten almacenar y acceder a la información.

Los principales tipos de BBDD son:

  • Relacionales: la información que almacena la BBDD está relacionada entre sí. Los datos relacionados (registros o filas) son almacenados en tablas que constan de varios campos (columnas).
  • No relacionales: los datos no tienen porqué estar relacionados entre sí y, por lo tanto, no tienen que almacenarse en estructuras fijas como las tablas del modelo de base de datos relacional.

Características y ventajas de NoSQL

Las Bases de Datos NoSQL (“Not Only SQL”) pertenecen al modelo no relacional. Las principales características y ventajas de este tipo son:

  • SQL no es el lenguaje de consulta/modificación de datos principal, aunque sí lo soportan, de ahí el nombre No Solo SQL.
  • Los datos no tienen que almacenarse en tablas.
  • Generalmente, su arquitectura es distribuida, almacenándose la información en más de una máquina del sistema. Por lo tanto, los sistemas que las soportan tienen una mayor escalabilidad horizontal (a mayor número de nodos mayor rendimiento) y también mayor tolerancia ante fallos en los distintos nodos.
  • Son más eficientes en el procesamiento de los datos que las BBDD relacionales, por eso, son la elección para aplicaciones que hacen un uso intensivo de estos (“streaming”, etc.).
  • Utilizan lo que se conoce como consistencia eventual, que consiste en que los cambios realizados en los datos serán replicados a todos los nodos del sistema, lo cual aumenta el rendimiento de estos sistemas en contraposición a las propiedades ACID de las BBDD relacionales (“Atomicity, Consistency, Isolation and Durability” – Atomicidad, Consistencia/Integridad, Aislamiento y Durabilidad).

Puntos positivos y negativos de NoSQL

  • Los Sistemas de Gestión de Bases de Datos NoSQL no contemplan por definición la atomicidad de las instrucciones, es decir, cuando una operación sobre los datos consta de varios pasos, no se tienen que ejecutar todos, cosa que sí sucede en los modelos relacionales (transacciones completas). Hay algunas BBDD NoSQL que contemplan la atomicidad.
  • Los gestores NoSQL no contemplan obligatoriamente la consistencia o integridad de la BBDD, esto quiere decir que no se comprueba que la operación a ejecutar sobre los datos se pueda completar desde un estado de la Base de Datos válido a otro válido (por ejemplo, no violación de ninguna restricción de tipos de datos o reglas).

bases de datos

Al utilizar el mecanismo de consistencia eventual se puede dar el caso de que la misma consulta a diferentes máquinas del sistema produzca resultados diferentes porque las modificaciones de la BBDD aún no han sido replicadas a todos los nodos.

Algunas BBDD de este tipo contemplan la propiedad de consistencia.

  • Estas BBDD utilizan sus propios lenguajes de consulta de datos y APIs, por lo que no tienen una gran interoperabilidad (por ejemplo, dificultad de migraciones de una BBDD a otra, integración con aplicaciones, consultas heredadas en SQL, etc.).
  • No hay estandarización para este tipo de BBDD, algo que sí es un punto fuerte de las relacionales.
  • Las Bases de Datos NoSQL funcionan ampliamente en máquinas Linux, pero no existe en general soporte a otros Sistemas Operativos.
  • Las interfaces de gestión de estas BBDD no son intuitivas ni sencillas y en algunos casos carecen de ellas gestionándose directamente desde consola de comandos.

¿Cuándo es recomendable utilizar una BBDD NoSQL?

  1. Cuando se necesita una BBDD para una aplicación que hace una consulta/lectura intensiva de grandes cantidades de datos.
  2. Cuando no hay la necesidad de que los datos sean consistentes.
  3.  Si los datos a almacenar no tienen una estructura fija.
  4. Una misma aplicación puede usar una BBDD relacional y una BBDD NoSQL y guardar cosas diferentes en cada una de ellas.

Algunos ejemplos de uso de este tipo de BBDD:

  • Amazon.
  • Facebook.
  • Google.

Gestores de BBDD NoSQL:

Con la Maestría en Análisis y Visualización de Datos Masivos – Big Data podrás profundizar en esta cuestión, gracias a los cursos de programación en Python y el curso de SQL que se incluyen en este posgrado.

Herramientas Big Data, ¿cuáles son las más populares y las que debes conocer?

Noticias relacionadas

¿Qué es la planificación de un proyecto?

La planificación del proyecto es la ordenación sistemática de las tareas para lograr un objetivo, donde se expone lo que se necesita hacer y cómo debe llevarse a cabo. Conoce todos los pasos para ejecutarla de manera eficaz.