¿Qué estás buscando?

Ej: Grado en medicina, admisiones, becas...

Admisiones:
Valencia: +34 961043883
Alicante: +34 965051793
Canarias: +34 922097091
Escuela Universitaria Real Madrid: +34 911128850
Estudiantes:
Valencia: +34 961043880
Alicante: +34 961043880
Canarias: +34 922985006
Whatsapp
Ingeniería
03 ene 2022

De las bases de datos relacionales al Big Data

Editado el 05 Abr. 2022
bases-datos-big-data

A diario, se cuelan términos en nuestro lenguaje cotidiano que utilizamos con frecuencia, a la ligera, y cuyo significado solemos desconocer. Algunos de ellos son SQL, Big Data, MapReduce, NoSQL o Machine Learning.

En este artículo explicaremos el significado de cada uno desde una perspectiva histórica para así poder participar en las conversaciones cotidianas en las que estos temas salgan a colación.

Bases de datos relacionales y lenguaje SQL

Antes de los años 60, la información se almacenaba en los ordenadores mediante ficheros que contenían datos de cada uno de los actores de interés de una empresa: clientes, proveedores, etc. Y, para responder a preguntas como qué usuarios se tienen en Madrid, había que abrir uno por uno estos ficheros; o bien, crear un programa específico que revisara su contenido y seleccionara esta información.

Fue a partir de entonces cuando aparecieron los primeros programas que permitían almacenar los datos de una empresa y consultarlos de forma estructurada. Se les llamaron sistemas gestores de bases de datos.

Al principio, la información se organizaba en forma de red, pero en la década de los 70 se empezaron a utilizar tablas. Cada fila representaba un cliente de la empresa y cada columna uno de sus datos (documento de identidad, nombre, dirección, etc.). Era el modelo relacional y se utilizaba el lenguaje SQL para recuperar información.

Actualmente, el modelo relacional se utiliza también, ya que cuenta con propiedades necesarias en determinados casos. Por ejemplo, en las bases de datos bancarios resulta imprescindible tener la certeza de que no hay inconsistencias en la información (datos con distintos valores en varios sitios, movimientos que se reflejan en la cuenta de origen, pero no en la de destino, etc.) y que las operaciones se realizan por completo, sin quedarse en un paso intermedio (atomicidad).

Los orígenes del Big Data: las bases de datos NoSQL

En los últimos tiempos muchas personas han redirigido sus acciones cotidianas al mundo digital. Esto ha generado miles de datos que las empresas y organizaciones almacenan y procesan con el objetivo de sacar información útil que les pueda suponer una ventaja competitiva. Se trata del conocido Big Data.

El tratamiento de estos datos ha hecho que surjan 3 nuevas necesidades a las que el modelo relacional no da respuesta del todo:

  • Volumen: se buscan maneras más eficientes y flexibles de almacenar información.
  • Variabilidad: estas deben permitir la modificación de las estructuras de las tablas en caliente.
  • Velocidad: tienen que responder en cuestión de segundos a un procesamiento que puede incluir TB de datos.

Esto ha favorecido la aparición de las bases de datos NoSQL.

MapReduce: ¿en qué consiste este modelo de programación?

Otro factor que ha permitido obtener soluciones factibles ha sido el procesamiento de datos paralelo y distribuido de MapReduce.

A grandes rasgos, se trata de un algoritmo que permite dividir el problema en partes, obteniendo resultados parciales de cada una y combinándolos para lograr una solución global al planteamiento inicial.

Obviamente no siempre es posible aplicar MapReduce, pero sí se puede hacer en muchos casos relacionados con el Big Data.

Es el turno de los dnRDBS

En la primera mitad de los años 2000 emergieron los sistemas de bases de datos no relacionales distribuidos (dnRDBS). Algunos de ellos todavía disponen hoy de una cuota de mercado muy significativa:

  • MongoDB: es una base de datos documental. Cada elemento de la base de datos es un documento con una estructura libre, definida y distinta de los informes previamente almacenados.
  • Cassandra: es una base de datos clave valor. La información se almacena de forma similar a un diccionario.
  • Apache HBase: es una base de datos columnar. La información se guarda en tablas y el número de columnas para cada registro puede ser variable.

Big Data y la importancia de la escalabilidad

Otra cuestión muy interesante relacionada con el Big Data es la escalabilidad. Por ejemplo, en el Black Friday un comercio electrónico puede multiplicar su volumen de negocio y, por tanto, sus servidores recibir más peticiones de las habituales. Para ello, necesita que la infraestructura que le da soporte sea escalable, es decir, disponer puntualmente de más máquinas operativas de las que tiene los días con tráfico normal.

También, existe la posibilidad de que este pico de servicio no se pueda predecir y, por consiguiente, hacer falta que el número de máquinas que están dando servicio crezca o decrezca de forma dinámica en función de la demanda que tiene lugar en cada momento. Esta es una característica con la que cuentan infraestructuras Cloud como Google Cloud Platform, Microsoft Azure, AWS o IBM Cloud, entre otras.

El SQL sigue siendo necesario

A pesar de la expansión de las plataformas de Cloud Computing que permiten el uso de bases de datos NoSQL para Big Data, los modelos de datos relacionales (y el lenguaje SQL) continúan utilizándose en aplicaciones y sistemas por varios motivos:

  • Hay circunstancias en las que las bases de datos relacionales ofrecen una mejor respuesta.
  • Muchas bases de datos NoSQL utilizan dialectos del lenguaje SQL para operar.
  • En la primera etapa de un proyecto de Big Data es necesario conocer los datos de entrada y realizar un preprocesamiento para que estén en un formato fácilmente procesable por el algoritmo de Machine Learning que vaya a utilizarse. En muchos casos, se utiliza SQL para esta fase.

Otra prueba de que este lenguaje está en boga es la alta demanda de perfiles profesionales que hay en el mercado actual. Si se realiza una búsqueda de puestos de trabajo con este requisito, en Infojobs es sencillo encontrar alrededor de 1.500 ofertas de empleo. Y, según el portal TicJob, es la tercera tecnología más solicitada. Además, no hay que pasar por alto que son empleos bien remunerados y que fácilmente rondan los 30.000 euros anuales.

Este post ha sido redactado por Maria de la Cruz Gaya López, profesora del Curso Universitario en SQL Server de la Universidad Europea.

Aprende Big Data con la Universidad Europea

Ya están disponibles de manera gratuita el whitepaper Introducción al Big Data y la charla Las 7V's del Big Data impartida por Lucía Manzano, analista Business Intelligence y Big Data en Telefónica y directora de Girls in Tech.