En este blog vamos abordar la primera parte de nuestra serie, en la que vamos hablar de almacenamiento y transformación de datos en plataformas Big Data. El término Big Data es un concepto difícil de cuantificar, ya que se refiere a sistemas capaces de almacenar y tratar volúmenes de datos bastante más grandes de lo que estamos habituados. En realidad la dificultad viene de que estamos hablando de un concepto que engloba dos dimensiones distintas: el volumen de datos, y los tiempos de respuesta, teniendo en cuenta que cada solución tecnológica está más bien optimizada para minimizar los tiempos de respuesta (como la tecnologia in-memory de SAP HANA), o maximizar la capacidad de almacenamiento (HADOOP).

El tratamiento de grandes volúmenes de datos siempre se basa en tres principios básicos:

  1. Tratar los datos donde están almacenados,
  2. Paralelizar al máximo las operaciones que tengamos que realizar, y
  3. Enviar solamente los resultados a los clientes finales.

Casi todas las plataformas del mercado se apoyan en estas estrategias.

Tomando HADOOP como ejemplo, los datos se almacenan en un sistema de ficheros distribuidos (HDFS). El HDFS se basa en un cluster de “Data nodes” y “Name nodes” que se encargan de garantizar alta disponibilidad, redundancia y seguridad de los datos. En un sistema HDFS el mal funcionamiento de un nodo no tendría mayores consecuencias. La potencia de la arquitectura HADOOP reside en aliar el HDFS a un entorno de gestión que permite ejecutar de forma orquestada algoritmos de tipo MapReduce en cada uno de los nodos del clúster. En HADOOP la optimización de rendimiento consiste en ejecutar las transformaciones en los nodos de datos (Map), enviándose apenas los resultados entre los nodos (Reduce).

En el próximo artículo hablaremos de herramientas de análisis para Big Data.