🅱🅸🅶 🅳🅰🆃🅰❦

¿Que es?

Big data (en español, grandes datos o grandes volúmenes de datos) es un término evolutivo que describe cualquier cantidad voluminosa de datos estructurados, semiestructurados y no estructurados que tienen el potencial de ser extraídos para obtener información.

¿Que tipos existen?

 Existen 3 tipos de datos:
  • Empresariales tradicionales: los cuales incluyen la información del cliente que proveniente de sistemas como el CRM, datos transaccionales del ERP, transacciones provenientes de sitios web, inventarios de ventas, etc.
  • Detallados: son los datos o hallazgos derivados de actividades como las campañas de atención telefónica con clientes, medidores inteligentes, información de planta o producción, logs de equipos, sistemas de ventas y comercio, etc.
  • Sociales: son los datos obtenidos a través del comportamiento e interacción de los usuarios con las redes sociales, los cuales incluyen feedbacks, opiniones, tendencias, etc.  

¿Como se obtiene estos datos?

1. Obtención de los datos

El primer paso en el proceso de la utilización del Big Data es la recogida de la información. Este paso es esencial de todo el proceso, ya que, si no se obtiene una información fiable, de calidad y con cierto sentido de coherente todo el proceso estaría mal y no serviría para nada.
Pongamos un ejemplo muy sencillo. Una gran cantidad de personas buscan desde sus smartphones una misma información en un lugar determinado y a una hora determinada. En el registro de esa base de datos quedan almacenados 3 datos, lugar, hora y la búsqueda realizada. Estos datos están desordenados y dispersos en la nube. En la realidad estos datos se multiplicarían por miles de miles de registros, de ahí su complejidad en el manejo y la necesidad de procesarlos.

2. Procesamiento

El segundo paso, después de haber recogido la información, consiste en transformar los datos recogidos para su posterior almacenamiento. Estos datos se caracterizan por estar en diferentes formatos, desordenados y con diferentes registros, es decir, serían inaccesibles para su posterior análisis.
Un ejemplo de esa transformación la tenemos en los datos referidos al sexo de una persona, se puede recoger como Hombre y Mujer o como Masculino o Femenino, aquí se transforma en dos formas, por ejemplo, H para hombre y M para mujer. Después de que todos los datos estén ordenados y colocados en filas y columnas son enviados a una base de datos para su análisis.

3. Almacenamiento

Después de transformar los datos, estos pasan a grandes bases de datos. Estas bases de datos pueden tener diferentes estructuras. Estas estructuras se caracterizan en como guardan la información, por variables, por claves o por nodos, entre otras. Cada una ordena y guarda la información de una forma distinta, el motivo es debido a las diferentes técnicas de análisis, que requieren disponer la información de una forma u otra.

4. Análisis

Por último el análisis, este paso es el más importante, a mi parecer, ya que, sin un buen análisis el Big Data no serviría sino para contabilizar datos sin ver porqué, cómo o qué sucede en el mundo real.Existen muchos tipos de análisis, dependiendo la base de datos con la que se trabaje.

Análisis de texto

Como el propio nombre explica, consiste en analizar el texto que se encuentra ordenado en la base de datos. Por ejemplo, este sistema facilita mucho la contabilización de artículos escritos sobre un tema, los tweets o publicaciones en foros. Esto puede determinar la repercusión de un tema a lo largo de un tiempo.

Asociación

Este tipo de análisis sirve para unir diferentes variables y poder determinar un hecho determinado. Un ejemplo sería las ventas de un producto (primera variable) en unas zonas determinadas (segunda variable), juntándolas podemos determinar el impacto que ha tenido la celebración de un acontecimiento.

Minería de datos

Con la minería de datos, podemos encontrar patrones de comportamiento predictivo de una forma estable. Un ejemplo sería que después de un acontecimiento deportivo muy importante, las visitas a una web se disparan. Este patrón de comportamiento es aprovechado por las diferentes empresas relacionadas en ese sector para incorporar su publicidad en esas páginas.
Después de haber visto una aproximación al mundo del Big Data y que se esconde detrás, ¿crees que el Big Data será un elemento clave para cualquier empresa?
  
 Programas de big data:

1. Hadoop

No se puede hablar de Big Data sin hablar de la veterana Apache Hadoop. Esta herramienta Big Data open source se considera el framework estándar para el almacenamiento de grandes volúmenes de datos; se usa también para analizar y procesar, y es utilizado por empresas como Facebook y Yahoo!.
La biblioteca Hadoop utiliza modelos de programación simples para el almacenamiento y procesamiento distribuido de grandes conjuntos de datos en clusters, dando redundancia para no perder nada y, al mismo tiempo, aprovechando muchos procesos a la vez.
Dispone de un sistema de archivos distribuido en cada nodo del cluster: el HDFS (Hadoop Distributed File System), y se basa en el proceso de MapReduce de dos fases.
Soporta diferentes sistemas operativos y también se usa frecuentemente sobre cualquiera de las principales plataformas en la nube, como Amazon EC2/S3 o Google Cloud.

2. MongoDB

Dentro de las bases de datos NoSQL, probablemente una de las más famosas sea MongoDB. Con un concepto muy diferente al de las bases de datos relacionales, se está convirtiendo en una interesante alternativa para almacenar los datos de nuestras aplicaciones.
MongoDB es una base de datos orientada a documentos (guarda los datos en documentos, no en registros). Estos documentos son almacenados en BSON, que es una representación binaria de JSON.
A pesar de que las bases de datos NoSQL no tienen una extensa variedad de uso, MongoDB tiene un ámbito de aplicación más amplio en diferentes tipos de proyectos: es especialmente útil en entornos que requieran escalabilidad. Con sus opciones de replicación y sharding, podemos conseguir un sistema que escale horizontalmente sin demasiados problemas.

3. Elasticsearch

Elasticsearch es una potente herramienta para la búsqueda entre grandes cantidades de datos, especialmente cuando los datos son de tipo complejo.
Nos permite indexar y analizar en tiempo real un gran volumen de datos y hacer consultas sobre ellos. Un ejemplo de uso son las consultas de texto completo; al estar los datos indexados, los resultados se obtienen de forma muy rápida. En el IIC utilizamos esta herramienta para indexar datos dentro de nuestras soluciones de entorno digital.
A diferencia de otros sistemas parecidos, no necesita declarar un esquema de la información que añadimos, no sabemos exactamente qué forma van a tener los datos.
Con Elasticsearch podemos hacer búsquedas de texto complicadas, visualizar el estado de nuestros nodos y escalar sin demasiadas necesidades, si se diera el caso de que necesitáramos más potencia.

4. Apache Spark

Apache Spark es un motor de procesamiento de datos de código abierto realmente rápido.
Creado por Matei Zaharia en la Universidad de Berkeley, se considera el primer software open source que hace la programación distribuida (muy en esencia, consiste en distribuir el trabajo entre un grupo de ordenadores, “cluster”, que trabajan como uno) realmente accesible a los científicos de datos.
Se pueden programar aplicaciones usando diferentes lenguajes como Java, Scala, Python o R. pudiendo ser, según el programa, hasta 100 veces más rápido en memoria o 10 veces más en disco que Hadoop MapReduce.

5. Apache Storm

Apache Storm es un sistema de computación distribuida en tiempo real orientado a procesar flujos constantes de datos, por ejemplo, datos de sensores que se emiten con una alta frecuencia o datos que provengan de las redes sociales, donde a veces es importante saber qué se está compartiendo en este momento.
Aunque Hadoop sea un gran sistema para el procesado de un gran volumen de datos, no está pensado para hacerlo en tiempo real, ya que tiene una alta latencia. Apache Storm está siendo una revolución para procesar grandes cantidades de información en tiempo real, ya que es capaz de procesar millones de mensajes por segundo. En el IIC utilizamos Apache Storm para nuestra herramienta Lynguo, que requiere esta tecnología Big Data para procesar en tiempo real los comentarios de las redes sociales para su monitorización y análisis.
Apache Storm puede ser utilizado para procesar los logs de nuestras aplicaciones para ver el uso que se hace de los distintos servicios y gestión de errores; para extraer información de redes sociales a través de sus APIs y analizar un fenómeno en tiempo real; recoger y procesar datos de sensores; buscadores verticales, web analytics, etc.

Comentarios