You are on page 1of 3

Monográfico

BIG DATA
Luis Reina
Arquitecto de datos del equipo de
software de IBM SPGI

Los desafíos del
Big Data
¿Qué plataformas existen en el mercado que permitan
analizar la información de forma efectiva?¿Cuáles son las
mayores dificultades con que se encuentran las herramientas de procesamiento de datos? Consultamos con el experto Luis Reina, para clarificar los retos a los que se enfrentan estas herramientas, que manejan datos desestructurados, de orígenes diversos y con diversos formatos, y que a
su vez deben ser capaces de proporcionar fidedignos análisis de esos datos en muchos casos en tiempo real.

@luisrei

dial es no estructurada. Información estructurada es, por
ejemplo, una base de datos relacional, donde existe un modelo de datos con sus tablas y atributos cada uno con su
tipo de datos específico. Un ejemplo claro de información
no estructurada puede ser el texto de un tweet donde alguien escribe hasta 140 caracteres sobre información
diversa y sin ningún tipo de formato.
Para definir de una manera más formal qué es Big
Data se usa el modelo de las 3Vs. La “V” de Volumen hace referencia al tamaño, la “V” de variedad se refiere a la
información no estructurada y la última “V” es la de velocidad, que hace referencia más que a la velocidad a la que
se generan los datos (ya que esto estaría vinculado al volumen) a la necesidad de analizarlos en tiempo real, según
se están produciendo. Últimamente se ha enriquecido este modelo con “Vs” adicionales como la “V” de Veracidad
o Valor que viene a destacar que, dentro de esta información interesante, hay también mucho ruido o información
basura que no aporta ningún valor, por ejemplo, si analizo tweets para determinar intención de compra, tendré que
discernir la información válida entre un montón de datos
inútiles.

Capacidad para analizar todos los datos

N

os encontramos ante la Revolución Industrial de
los Datos. Internet es un gran generador de nuevos datos: las redes sociales (e.g Facebook), correos
electrónicos, los blogs, microblogs (e.g. Twitter), etc. proporcionan enormes cantidades de información. Pero no sólo dentro de Internet, fuera también, donde existen todo tipo de servidores, sensores y aparatos interconectados que están continuamente generando volúmenes ingentes de datos. Sirva de
ejemplo que en 2005 había 1,3 billones de dispositivos
RFID y en el 2011 la cifra crece hasta 30 billones1. Se espera que la información generada en el año 2020 sea mayor de
30 Zettabytes2 (1021 bytes) cuando hasta hace bien poco se
hablaba de Terabytes (1012 bytes).

Big Data es un término que está de moda y que está levantado mucha expectación en las empresas y en los gobiernos.
Pero, ¿Qué es Big Data? su nombre hace referencia a grandes volúmenes de datos, sin embargo esta definición se queda corta ya que además del tamaño, tiene también otras consideraciones importantes. Una de ellas es que estamos hablando no solamente de datos estructurados sino también no
estructurados. IBM estima que el 80%3 de la información mun-

46 junio 2013

1 93

Debido a la gran y variada información que Big Data
puede proporcionar, los casos de usos son innumerables. Desde análisis de sentimiento para averiguar, por ejemplo, la imagen que tiene la gente de una empresa, hasta
identificar amenazas criminales, pasando por análisis
de fraude, riesgo, etc. Existe una empresa que analiza información meteorológica y geográfica para determinar la
mejor posición de las turbinas de viento, mejorando
enormemente su antiguo y costoso sistema que suponía
un año entero de mediciones en las ubicaciones potenciales de las turbinas.
Si se es capaz de analizar los datos, está claro que Big
Data proporciona una potencial muy interesante. Ahora
bien, la siguiente pregunta lógica que se plantea es: ¿Cómo puedo analizar esta información? Existen en el mercado plataformas de Big Data (Figura 1) que ayudan a realizar este análisis para poder, de una forma efectiva y eficiente, sacar provecho a estos datos.
Big Data se puede clasificar en dos tipos: Datos en Reposo y Datos en Movimiento: Los datos en reposo son da-

Pig. Figura 1: Plataforma de Big Data. se puede montar un cluster con cientos de nodos ejecutando aplicaciones en paralelo. se ha creado el lenguaje AQL (Annotator Query Language) que permite de forma fácil crear reglas (anotadores) que extraigan de textos no estructurados. los datos en movimiento son aquellos que tengo que analizar al vuelo. Otra herramienta interesante sobre Hadoop es Machine Learning5 que permite realizar funciones estadísticas y predictivas en un cluster de Hadoop de grandes volú- 193 junio 2013 47 . para que los usuarios sin conocimiento de programación y manejando una hoja de cálculo sean capaces de analizar Big Data. generando código MapReduce. sin embargo. Hadoop los distribuye automáticamente y se encarga de ejecutar los procesos MapReduce en paralelo y además. información proveniente de sensores que necesitan una acción inmediata o ataques cibernéticos. de una forma muy económica. cada uno procesando su porción de datos que tiene almacenados en local. cada nodo del cluster va a almacenar y luego procesar una porción de los datos. Por su parte. Por otro lado. sin cambiar la aplicación. Lenguajes sencillos como Jaql. procesar volúmenes enormes en tiempo record gracias al paralelismo MapReduce. añadiendo más nodos y más datos. generan por debajo. de forma transparente al programador. de una forma económica. etc. Hadoop es un entorno de desarrollo y ejecución que permite realizar aplicaciones y ejecutarlas en paralelo en un cluster de servidores (nodos) corriendo en sistemas Linux de 64 bits. en tiempo real. Lo importante es que el usuario solo tiene que preocuparse de crear los anotadores. que corre en paralelo en cluster. aquellas partes que quiero analizar. Es decir. Así. partiéndose en pequeños fragmentos (bloques de datos) pero dando la visión al usuario de un único fichero. Este paradigma junto con el factor económico es el que hace revolucionario a Hadoop: se puede empezar con una aplicación que procese pocos Terabytes de información en un cluster y. ciona el paralelismo en el cluster mediante la ejecución de las funciones Map (que genera tuplas a partir de los datos) en cada nodo del cluster en paralelo y Reduce (que reduce/consolida las tuplas generadas). Para analizar los datos en reposo ha surgido una tecnología open source muy interesante denominada Hadoop4. Se puede programar en Java directamente con el API MapReduce. si se aumenta el número de nodos del cluster. Hive. montar un sistema MPP (procesamiento masivo paralelo) que es capaz de procesar hasta Petabytes de información de una forma ágil. De esta forma. según se están produciendo sin esperar a almacenarlos: por ejemplo. Es importante resaltar que el cluster está formado por servidores Linux baratos conectados únicamente por una red TCP/IP y con discos locales. Adicionalmente Hadoop proporciona tolerancia a fallos ya que los bloques de datos están duplicados en más de un nodo por si uno fallase otro pueda realizar su trabajo. HDFS es un sistema de ficheros distribuido que permite que los ficheros que almacena se distribuyan por todo el cluster. Existe una gran variedad de lenguajes que permiten realizar aplicaciones MapReduce. Sobre Hadoop se han desarrollado herramientas como Text Analytics5 que permite realizar análisis de texto sobre grandes volúmenes en un cluster Hadoop. luego internamente el sistema lo optimiza. la funcionalidad MapReduce que es la que permite la ejecución en paralelo en el cluster. por ejemplo. cuando se lance una aplicación en el cluster. para facilitar el desarrollo han surgido lenguajes de programación de alto nivel que facilitan enormemente la implementación de este tipo de aplicaciones. Las aplicaciones Hadoop no necesitan saber donde están los datos. Similar al lenguaje SQL (Structured Query Language) inventado por IBM.Monográfico BIG DATA tos que previamente al análisis se han almacenado en disco. Hadoop tiene dos componentes clave: el sistema de ficheros Hadoop Distributed File System (HDFS) y el modelo de programación MapReduce. la herramienta gráfica BigSheets5 permite producir código MapReduce sin necesidad de programar. todos los nodos van a funcionar en paralelo. información de logs de TI o información proveniente de Twitter o Facebook. El modelo de programación MapReduce es el que propor- Hadoop proporciona mejoras interesantes sobre la computación grid que también permitía la ejecución en paralelo de un cluster de nodos. las aplicaciones no cambian. Hadoop permite.

Su uso es muy variado: desde analizar el tráfico de una ciudad (Smart Trafic) hasta su utilización en hospitales para detectar situaciones críticas en pacientes. los analiza en memoria usando también sistemas cluster altamente escalables. en el que cada nodo realiza distintas funciones sobre los datos.com/software/data/puredata/had op/ 7 Más Información: http://www.ibm.com/software/products/es/es/business-intelligence/ 2 . Machine Learning proporciona también un lenguaje declarativo sencillo de alto nivel llamado DML que. Por ejemplo el acelerador TEDA (Telco Data Accelerator) permite el análisis con Infosphere Streams de CDRs. ficheros. correlaciones. una vez compilado. bases de datos relacionales. Conclusión Big Data supone. Muchas veces el problema es encontrar e indexar la información que está dispersa y aislada en silos dentro pero también fuera de las empresas. 4 Más información: http://hadoop. correos. cómo se gestiona o dónde está almacenada. Para ello. Además esta información tiene innumerables formatos. permanecen en sus ubicaciones originales pero permitiendo. Los retos del Big Data No cabe duda de que estas tecnologías tienen un enorme potencial. plataforma de Big Data se tiene que poder integrar fácilmente con otros componentes como. Por ejemplo Infosphere Streams7. de una forma económica.ibm. Es importante que los sistemas que se creen para analizar Big Data no sean silos aislados sino que puedan comunicarse con los sistemas existentes de la empresa. Existen tecnologías como Hadoop que permiten. realizar aplicaciones seguras que muestren al usuario la información unificada. Para ayudar en estos desarrollos existen aceleradores que son desarrollos implementados en diversos clientes y que se ponen a disposición del usuario para su reutilización y modificación. una de las mayores dificultades para analizar los datos es desarrollar las aplicaciones que sean capaces de aprovecharlos. grandes volúmenes de información con infinidad de formatos. Existen aceleradores y herramientas.ibm. información de terrorismo en Internet. Una plataforma de Big Data debe ser capaz también de analizar los datos en movimiento según se están produciendo. Existen herramientas8 que permiten buscar y tener una visión integrada de la información. que es el resultado de una tecnología creada para el Gobierno de Estados Unidos para analizar. en tiempo real. documentos xml. en vez de almacenar los datos en disco. por ejemplo. entre otros.com/software/data/ infosphere/biginsights/) 6 Más información: http://www.com/ 3 Referencias 1 Fuente: IBM 2012.com/software/data/infosphere/str eams/ 8 Data Explorer: http://www. herramientas de gestión de contenidos9. También es necesario que herramientas de Business Intelligence10 puedan acceder a la plataforma de Big Data para proporcionar informes a los usuarios finales. genera código MapReduce.com/software/products/us/en/subcategory/SWN40 10 http://www. Fuente: IBM 2010 3 Fuente: IBM 2010. transformaciones. etc. En el mundo de las telecomunicaciones existen aplicaciones interesantes como el análisis de los CDR (Call Detail Records) para detectar fraudes en tiempo real. clasificaciones. desde bases de datos relacionales. Sin embargo. Existen en el mercado soluciones de Hadoop en formato appliance6 que integra el hardware y el software necesarios para construir un sistema Hadoop.apache. sin importar el formato.ibm. Así la 48 junio 2013 1 93 Por último para aquellos que quieran aprender más sobre estas tecnologías un punto importante de cursos e información es http://bigdatauniversity.org 5 Componente de BigInsights (http:// www. como Text Analytics y Machine Learning que son una gran ayuda a la hora de implementar dichas aplicaciones.ibm. etc.ibm. Los datos no se mueven. Permite analizar cantidades enormes de información con latencias por debajo del milisegundo. realizar dicho análisis pero también suponen un importante reto a la hora de crear las aplicaciones que las aprovechen. Aquellas empresas que sean capaces de analizar estos datos conseguirán una importante ventaja competitiva. filtrados.Monográfico BIG DATA menes de datos. de forma sencilla.explorer/ 9 http://www. como por ejemplo.com/software/data/infosphere/data.