Big Data

¿Qué es NoSQL y qué relación tiene con el Big Data?

Las bases de datos son colecciones de información organizada de forma que permitan facilidad de acceso y gestión. Te explicamos la relación que tienen con el Big Data.

Por Redacción España, el 16/04/2020

auto ¿Te ha gustado nuestro artículo? ¡Vota!

El uso de las bases de datos es más que frecuente hoy en día. El almacenamiento de información es vital para las empresas de la era digital, puesto que, gracias a los datos, los especialistas elaboran estrategias que permiten, por ejemplo, orientarse a las necesidades de los clientes y prever riesgos. Te explicamos qué es NoSQL y qué relación tiene con el Big Data.


¿Qué es NoSQL?

En primer lugar, antes de explicar el concepto NoSQL conviene dejar claros dos términos: base de datos y base de datos SQL.

Una base de datos es un almacén sistemático de datos relacionados bajo un mismo contexto para su posterior recuperación y/o análisis. Las BBDD más comunes son aquellas que se estructuran en forma de tablas.

Este aspecto aumenta exponencialmente la eficacia del procesamiento y la consulta de datos. De esta forma, un Data Analyst puede acceder, gestionar, modificar, controlar y organizar la información fácilmente.

La mayoría de las BBDD utilizan un lenguaje de consulta estructurado (SQL - Structured Query Language) como estándar para la definición, manipulación y control de bases de datos relacionales.

Sin embargo, con el tiempo se han ido desarrollando otro tipo de bases de datos que engloban otras funciones. Las BBDD NoSQL se definen como aquellas que no requieren una estructura de datos fija y utilizan modelos de datos más flexibles.

Las BBDD NoSQL son útiles para almacenar, sobre todo, datos no estructurados. Se trata de aquellos datos que no poseen una estructura interna identificable, como por ejemplo: correo electrónicos, hojas de cálculo, vídeos y audios, etcétera. Si tienes dudas, consulta este post sobre diferencias entre datos estructurados y datos no estructurados.


Ventajas de implementar una BBDD NoSQL

Las bases de datos NoSQL ofrecen beneficios sobre el RDBMS tradicional. Estos son algunos de ellos:

Escalabilidad

Las BBDD NoSQL se basan en una metodología de escalado horizontal sobre un hardware de bajo coste. En la mayoría de casos, se recurre a infraestructuras basadas en Cloud Computing o computación en la nube, que otorgan la posibilidad de escalar la base de datos en función de la demanda, es decir, aumentando la infraestructura cuando la carga de datos aumenta y reduciéndola cuando disminuye.

Disponibilidad

Mediante la replicación de datos a través de múltiples servidores, centros de datos o recursos en la nube, este tipo de bases de datos pueden reducir la latencia y, a su vez, garantizar una experiencia de aplicación en cualquier lugar, lo que supone una alta disponibilidad para los usuarios con acceso a la BBDD.

Tolerancia a los fallos

A través de las bases de datos NoSQL se obtiene un ecosistema interconectado mediante el cual siempre se va a tener disponibilidad a los datos, característica dirigida a la fiabilidad y tolerancia de fallos.


¿Cuándo surgió este tipo de bases de datos?

Las bases de datos han cambiado mucho desde su aparición en la década de los 60. Las BBDD jerárquicas y de red fueron los cimientos de los almacenes de datos tal y como los conocemos hoy en día.

En 1970, destaca la figura de Edgar Frank Codd, un científico inglés conocido por sus aportaciones a la teoría de bases de datos relacionales. Sus proyectos ayudaron a Lawrence J. Ellison a desarrollar el Relational Software System, lo que actualmente se conoce como Oracle Corporation, el primer sistema de gestión de bases de datos relacional.

Posteriormente se desarrolla el lenguaje SQL, que amplía los horizontes de las BBDD relacionales en términos de administración, recuperación y modificación de información en la base de datos de forma sencilla.

En los años siguientes, dado el apogeo y creciente uso de internet, surgieron las bases de datos NoSQL para acelerar la velocidad y el procesamiento de los datos no estructurados.

El primero en acuñar el término fue Carlo Strozzi para referirse a su base de datos Strozzi NoSQL. Se trataba de un tipo de BBDD open-source que no ofrecía una interface SQL, pero que sí seguía un modelo relacional.

Con el tiempo, Google lanzó en el año 2005 el primer proyecto conocido como base de datos NoSQL, llamado Big Table. Dado el interés, le siguieron otros muchos como Marklogic.

Sin embargo, el punto álgido fue en el año 2009, cuando Johan Oskarsson, perteneciente a la empresa Last.fm, quiso organizar un evento para discutir bases de datos distribuidas de código abierto.


Relación entre NoSQL y Big Data

Big Data y NoSql

En términos de Big Data, donde el volumen de datos administrado adquiere dimensiones masivas, las bases de datos tradicionales se han quedado atrás, puesto que las grandes corporaciones tienen diariamente consultas complejas y precisan de respuestas inmediatas.

Ante esta situación, se han planteado nuevos retos que permiten un tratamiento de datos mucho más eficiente. Estas son las BBDD No SQL, que, como hemos visto, permiten resolver los problemas de escalabilidad y rendimiento mediante nuevos entornos de manejo de datos, como es el caso del crecimiento horizontal.

Sin embargo, el uso de las BBDD NoSQL no supone la eliminación de las BBDD SQL. De hecho, si desglosamos el término NoSQL - Not Only SQL, nos permite combinar entornos SQL y NoSQL, según sea necesario para el proyecto.


Tipos de bases de datos NoSQL

Bases de datos Key/Value

Este tipo de bases de datos NoSQL es el más sencillo. Se trata de un sistema basado en dos columnas diferenciadas. Una de ellas alberga un valor y la otra una clave.

La condición obligatoria de la clave es que debe ser única. En contraposición, los valores se construyen en una estructura simple, que acepta diferentes tipos de formatos. Pueden ser numéricos, JSON u otros.

Las bases de datos Key-Value clasifican y almacenan los datos en diccionarios, aspecto que dota a las BBDD de este tipo de escalabilidad en sentido horizontal y una alta velocidad en modificación de datos y respuestas a consultas.

Las bases de datos NoSQL Key-Value más famosas son DynamoDB de Amazon y Apache Cassandra.

Bases de datos documentales

Las BBDD documentales son un formato que permite el almacenamiento de datos en tipo documento, los cuales pueden ser XML, JSON o BSON. A diferencia de las BBDD clave-valor, éstas se centran en una clave específica.

Estas BBDD son extremadamente versátiles, puesto que no siguen una estructura definida para cada documento y se adaptan fácilmente a cualquier solución que se quiera extender.

Bases de datos de almacenamiento en columnas

En las bases de datos columnares, como su propio nombre indica, los datos se almacenan en columnas y no en filas. El objetivo principal es escribir y procesar datos de manera eficiente, desde y hacia el almacenamiento en disco duro, para acelerar el tiempo de respuesta ante una consulta.

El principal uso para este tipo de bases de datos actualmente está enfocado a la Inteligencia de Negocios o Business Intelligence, es decir, para grandes corporaciones que cuentan con grandes bases de datos.

Algunas de las bases de datos de almacenamiento en columnas son Apache Cassandra y HBase.

Bases de datos gráficas

Las bases de datos gráficas utilizan los grafos para almacenar, correlacionar y consultar relaciones. Los grafos son estructuras formadas por un conjunto de objetos (vértices y aristas) que admiten la representación de datos interconectados de forma fácil y visual.

Este tipo de BBDD se puede utilizar en múltiples contextos. No obstante, uno de los más habituales es en redes sociales (RRSS) o para registrar los hábitos de compra de los clientes en las ecommerce.

A través de las relaciones obtenidas en la base de datos, se pueden establecer correlaciones que permitan fomentar recomendaciones de compra o amistades (en el caso de Facebook por ejemplo), creando redes de usuarios y productos.

TAGS:
Imagen del autor Redacción España

Equipo de redacción de B12 España: Marketing, Big Data, Inteligencia Artificial y Ventas.

Ponte en contacto con nosotros:

+34 916 629 534

madrid@agenciab12.com

Calle Alcalá, 21, 8ºD. 28014 - Madrid