En posts anteriores he hablado de la aparición del Big Data y de las famosas Vs. De repente, se hizo necesario ser capaz de manejar muchísimos más datos con una afluencia muchísimo mayor. Las arquitecturas tradicionales no podían lidiar con esta nueva situación, y se desarrollaron las arquitecturas Big Data. Estas últimas enfocadas a trabajar con los datos en las nuevas condiciones.

Antes de la aparición del Big Data, con un buen servidor y un RAID de discos era suficiente para procesar y almacenar todos los datos que manejábamos. Esta arquitectura era además escalable y las necesidades de ampliación eran asumibles. Sin embargo, con la llegada del Big Data, y la gran cantidad y variedad de datos que tenemos que manejar y almacenar, las arquitecturas tradicionales basadas en un servidor resultan insuficientes. Se hace inviable procesar toda esta información en un único ordenador, y se desarrollan arquitectura Big Data basadas en Clusters de ordeanadores (un conjunto de ordenadores trabajando de manera coordinada para resolver una misma tarea).

Por tanto, en una arquitectura Big Data, vamos a trabajar con múltiples ordenadores y tendremos nuestras capacidades de computación distribuidas. Para aprovechar eficientemente estas capacidades, recurrimos a algoritmos de procesamiento paralelo que distribuyen la carga de procesamiento entre los distintos ordenadores del Cluster. Esto también nos ayudará a procesar los datos más rápidamente, que es otro de los requerimientos de una arquitectura Big Data, como por ejemplo con las queries de un buscador web.

Finalmente, las bases de datos empleadas en una arquitectura Big Data, también cambian con respecto a la arquitectura tradicional. La variedad de los datos y las distintas estructuras en las que nos los encontramos, hacen muy ineficientes las bases de datos relacionales. Por ello, en una arquitectura Big Data, encontraremos bases de datos NO relacionales, las cuales explicaré en posteriores posts. Sin embargo, también podemos encontrar bases de datos relacionales, las usaremos para aquella parte de los datos que estén estructurados, conviviendo con las bases de datos NO relacionales.

Si quieres aprender más de bases de datos NO relacionales puedes leer el siguiente post.

Dicho lo anterior, podemos concluir que las arquitecturas Big Data están basadas en:

  • Clusters de ordenadores.
  • Procesamiento paralelo.
  • BBDD Distribuidas de distintos tipos.

Nosotros veremos con más detalle el ecosistema Hadoop que es una de las arquitecturas más aceptadas en Big Data.

NOTA:

Este post es parte de la colección “Arquitectura de Datos” que reproduce los apuntes de la clase que imparto sobre el tema en ESIC. Puedes ver el índice de esta colección aquí.