Big Data ya no es una promesa ni una tendencia. Big Data está aquí y está provocando cambios profundos en diversas industrias. Desde el punto de vista tecnológico ya existen sectores empresariales que han adoptado de forma masiva proyectos y productos. El análisis de todos los datos disponibles está convirtiéndose en un elemento de disrupción. Así como internet es un factor de des intermediación que está afectando a muchas cadenas de valor, el análisis de información en grandes volúmenes, de diversas fuentes, a gran velocidad y con una flexibilidad sin precedentes puede suponer un factor diferencial para aquellos que decidan adoptarlo.
Es un término popular utilizado para describir el crecimiento exponencial y la disponibilidad de los datos, tanto estructurados como no estructurados. Y los grandes datos pueden ser tan importantes para los negocios – y la sociedad – como el Internet se ha convertido. ¿Por qué? Más datos pueden llevar a análisis más precisos. Los análisis más precisos pueden conducir a la toma de decisiones con más confianza. Y mejores decisiones pueden significar una mayor eficiencia operativa, reducción de costes y un menor riesgo.
En términos generales “Big Data” se refiere a la tendencia en el avance de la tecnología que ha abierto las puertas hacia un nuevo enfoque de entendimiento y toma de decisiones, la cual es utilizada para describir enormes cantidades de datos (estructurados, no estructurados y semi estructurados) que tomaría demasiado tiempo y sería muy costoso cargarlos a un base de datos relacional para su análisis. De tal manera que, el concepto de Big Data aplica para toda aquella información que no puede ser procesada o analizada utilizando procesos o herramientas tradicionales. Sin embargo, Big Data no se refiere a alguna cantidad en específico, ya que es usualmente utilizado cuando se habla en términos de petabytes y exabytes de datos.
Entonces ¿Cuánto es demasiada información de manera que sea elegible para ser procesada y analizada utilizando Big Data? Además del gran volumen de información, ésta existe en una gran variedad de datos que pueden ser representados de diversas maneras en todo el mundo, por ejemplo, de dispositivos móviles, audio, video, sistemas GPS, incontables sensores digitales en equipos industriales, automóviles, medidores eléctricos, veletas, anemómetros, etc., los cuales pueden medir y comunicar el posicionamiento, movimiento, vibración, temperatura, humedad y hasta los cambios químicos que sufre el aire, de tal forma que las aplicaciones que analizan estos datos requieren que la velocidad de respuesta sea lo demasiado rápida para lograr obtener la información correcta en el momento preciso. Estas son las características principales de una oportunidad para Big Data.
Es importante entender que las bases de datos convencionales son una parte importante y relevante para una solución analítica. De hecho, se vuelve mucho más vital cuando se usa en conjunto con la plataforma de Big Data. Pensemos en nuestras manos izquierda y derecha, cada una ofrece fortalezas individuales para cada tarea en específico. Por ejemplo, un beisbolista sabe que una de sus manos es mejor para lanzar la pelota y la otra para atraparla; puede ser que cada mano intente hacer la actividad de la otra, mas sin embargo, el resultado no será el más óptimo.
Características: A Big Data le caracterizan las tres “V”: volumen, variedad y velocidad.
Volumen.
- El volumen de los datos almacenados en los depósitos de las empresas ha pasado de ocupar megabytes y gigabytes a “petabytes”.
- Por ejemplo, el volumen de datos procesado por corporaciones ha crecido significativamente. Google procesa 20 petabytes al día.
- En 2020 se espera que se generen 420.000 millones de pagos electrónicos.
- La Bolsa de Nueva York genera un terabyte de datos al día, frente a Twitter, que genera 8 terabytes al día (u 80MB por segundo).
Variedad
- La variedad de datos ha explotado, pasando de ser datos almacenados y estructurados, guardados en bancos de datos empresariales, a ser desestructurados, semiestructurados, audio, video, XML, etc.
- Datos en streaming, cotizaciones bursátiles, medios sociales, máquina a máquina, datos de sensores… Una creciente variedad de datos necesitan ser procesados y convertidos en información.
Velocidad
La velocidad del movimiento, proceso y captura de datos dentro y fuera de la empresa ha aumentado significativamente.
- Los modelos basados en inteligencia de negocios generalmente suelen tardar días en procesar, frente a las necesidades analíticas “casi” en tiempo real de hoy en día debido al flujo de datos a alta velocidad.
eBay, por ejemplo, se enfrenta al fraude a través de PayPal analizando cinco millones de transacciones en tiempo real al día.
¿Qué tipos de datos se debe explorar?
Muchas organizaciones se enfrentan a la pregunta sobre ¿qué información es la que se debe analizar?, sin embargo, el cuestionamiento debería estar enfocado hacia ¿qué problema es el que se está tratando de resolver?
Si bien sabemos que existe una amplia variedad de tipos de datos a analizar, una buena clasificación nos ayudaría a entender mejor su representación, aunque es muy probable que estas categorías puedan extenderse con el avance tecnológico.
Tipos de datos de Big Data
1.- Web and Social Media: Incluye contenido web e información que es obtenida de las redes sociales como Facebook, Twitter, LinkedIn, etc., blogs.
2.- Machine-to-Machine (M2M): M2M se refiere a las tecnologías que permiten conectarse a otros dispositivos. M2M utiliza dispositivos como sensores o medidores que capturan algún evento en particular (velocidad, temperatura, presión, variables meteorológicas, variables químicas como la salinidad, etc.) los cuales transmiten a través de redes alámbricas, inalámbricas o híbridas a otras aplicaciones que traducen estos eventos en información significativa.
3.- Big Transaction Data: Incluye registros de facturación, en telecomunicaciones registros detallados de las llamadas (CDR), etc. Estos datos transaccionales están disponibles en formatos tanto semiestructurados como no estructurados.
4.- Biometrics: Información biométrica en la que se incluye huellas digitales, escaneo de la retina, reconocimiento facial, genética, etc. En el área de seguridad e inteligencia, los datos biométricos han sido información importante para las agencias de investigación.
5.- Human Generated: Las personas generamos diversas cantidades de datos como la información que guarda un call center al establecer una llamada telefónica, notas de voz, correos electrónicos, documentos electrónicos, estudios médicos, etc.
El estudio e interpretación de volúmenes inmensos de datos nos permite llevar a cabo analítica predictiva, práctica que se ejecuta mediante la construcción de patrones de comportamiento. Esto es, podremos predecir comportamientos o sucesos antes de que ocurran (cambios en las preferencias de clientes, catástrofes medioambientales, una enfermeda, etc.). Lejos de lo que muchos puedan pensar, la aplicación del Big Data no es ciencia ficción, ni una apuesta de futuro. A día de hoy ya son muchos los que recurren al análisis de grandes cantidades de datos para lograr sus objetivos. He aquí algunos ejemplos de aplicación del Big Data en diferentes campos:
Spotify: Algunas formaciones musicales ya recurren a la monitorización de esta red social para establecer el emplazamiento de sus conciertos. Analizan en qué ciudades su música tiene más reproducciones y en función de los datos determinan su gira.
Campañas Electorales: Barack Obama utilizó a un equipo de analistas cuantitativos en su campaña electoral para centrar su esfuerzo en aquellos lugares donde tenía más seguidores.
Seguros de coches: En España un caso de éxito es Generali Seguros, la compañía aplicó el Big Data para premiar a los mejores conductores.
Es decir, la analítica predictiva utiliza algoritmos para encontrar patrones de información que puedan predecir resultados similares en el futuro. Si una empresa es capaz de prever cambios en el comportamiento de sus clientes podrá tomar medidas preventivas y evitar resultados no deseados. El Big Data ha comenzado a cambiar toda la economía. Las compañías empiezan a ser conscientes de la importancia de procesar uno de sus principales activos: la información que ellas mismas generan.
Desde el punto de vista del marketing, el Big Data es entendido como la obtención de grandes cantidades de información del mercado y de los consumidores. Un proceso laborioso que supone el filtrado e interpretación de los datos registrados para convertirlos en conclusiones útiles (que faciliten la consecución de los objetivos previamente definidos).
Establecer estrategias de negocio basadas en la predicción de las preferencias y hábitos de consumo, supone una potente herramienta empresarial a la hora de apostar por el lanzamiento de un producto o una determinada línea de negocio. Los datos nos permiten llegar más lejos, intuir cuáles serán las tendencias del mercado (adelantándonos incluso a las necesidades y preferencias de nuestros consumidores). Utilizando ésta información es posible tomar ventaja sobre la competencia y llevar a cabo decisiones más eficientes. Basar las estrategias de negocio en la predicción del comportamiento del consumidor es un arma muy potente para hacerse un hueco en mercados cada vez más saturados. Aunque el análisis predictivo no sea fiable al 100%, sí nos permitirá ejecutar nuestra estrategia empresarial con más tranquilidad.
Big Data y el campo de investigación
Los científicos e investigadores han analizado datos desde ya hace mucho tiempo, lo que ahora representa el gran reto es la escala en la que estos son generados.
Esta explosión de “grandes datos” está transformando la manera en que se conduce una investigación adquiriendo habilidades en el uso de Big Data para resolver problemas complejos relacionados con el descubrimiento científico, investigación ambiental y biomédica, educación, salud, seguridad nacional, entre otros.
En cierto sentido, Big Data puede tener las respuestas a todas nuestras preguntas. Algunos incluso dicen que es el fin de la teoría. Las empresas y las organizaciones que puedan hacer las preguntas adecuadas (en el momento adecuado) ganarán en ventaja competitiva. Desde el punto de vista de los negocios, actualmente estamos yendo del “data science” (ciencia de datos) al “data intelligence” (inteligencia de datos).
Desde el punto de vista de las tendencias, lo siguiente a explorar es la búsqueda de valor empresarial y de resultado de negocio con Big Data.
Componentes de una plataforma Big Data
Las organizaciones han atacado esta problemática desde diferentes ángulos. Todas esas montañas de información han generado un costo potencial al no descubrir el gran valor asociado. Desde luego, el ángulo correcto que actualmente tiene el liderazgo en términos de popularidad para analizar enormes cantidades de información es la plataforma de código abierto Hadoop.
Hadoop está inspirado en el proyecto de Google File System (GFS) y en el paradigma de programación MapReduce, el cual consiste en dividir en dos tareas (mapear – reducir) para manipular los datos distribuidos a nodos de un clúster logrando un alto paralelismo en el procesamiento. Hadoop está compuesto de tres piezas: Hadoop Distributed File System (HDFS), Hadoop MapReduce y Hadoop Common.
Hadoop Distributed File System (HDFS)
Los datos en el clúster de Hadoop son divididos en pequeñas piezas llamadas bloques y distribuidas a través del clúster; de esta manera, las funciones mapear y reducir pueden ser ejecutadas en pequeños subconjuntos y esto provee de la escalabilidad necesaria para el procesamiento de grandes volúmenes.
La siguiente figura ejemplifica como los bloques de datos son escritos hacia HDFS. Observe que cada bloque es almacenado tres veces y al menos un bloque se almacena en un diferente rack para lograr redundancia.
Hadoop Common
Hadoop Common Components son un conjunto de librerías que soportan varios subproyectos de Hadoop.
Además de estos tres componentes principales de Hadoop, existen otros proyectos relacionados los cuales son definidos a continuación:
Avro
Es un proyecto de Apache que provee servicios de serialización. Cuando se guardan datos en un archivo, el esquema que define ese archivo es guardado dentro del mismo; de este modo es más sencillo para cualquier aplicación leerlo posteriormente puesto que el esquema está definido dentro del archivo.
Cassandra
Cassandra es una base de datos no relacional distribuida y basada en un modelo de almacenamiento de <clave-valor>, desarrollada en Java. Permite grandes volúmenes de datos en forma distribuida. Twitter es una de las empresas que utiliza Cassandra dentro de su plataforma.
Chukwa
Diseñado para la colección y análisis a gran escala de “logs”. Incluye un toolkit para desplegar los resultados del análisis y monitoreo.
Flume
Tal como su nombre lo indica, su tarea principal es dirigir los datos de una fuente hacia alguna otra localidad, en este caso hacia el ambiente de Hadoop. Existen tres entidades principales: sources, decorators y sinks. Un source es básicamente cualquier fuente de datos, sink es el destino de una operación en específico y un decorator es una operación dentro del flujo de datos que transforma esa información de alguna manera, como por ejemplo comprimir o descomprimir los datos o alguna otra operación en particular sobre los mismos.
HBase
Es una base de datos de columnas (Base de datos orientada a columnas) que se ejecuta en HDFS. HBase no soporta SQL, de hecho, HBase no es una base de datos relacional. Cada tabla contiene filas y columnas como una base de datos relacional. HBase permite que muchos atributos sean agrupados llamándolos familias de columnas, de tal manera que los elementos de una familia de columnas son almacenados en un solo conjunto. Eso es distinto a las bases de datos relacionales orientadas a filas, donde todas las columnas de una fila dada son almacenadas en conjunto. Facebook utiliza HBase en su plataforma desde Noviembre del 2010.
Hive
Es una infraestructura de data warehouse que facilita administrar grandes conjuntos de datos que se encuentran almacenados en un ambiente distribuido. Hive tiene definido un lenguaje similar a SQL llamado Hive Query Language (HQL), estas sentencias HQL son separadas por un servicio de Hive y son enviadas a procesos MapReduce ejecutados en el clúster de Hadoop.
Jaql
Fue donado por IBM a la comunidad de software libre. Query Language for JavaScript Object Notation (JSON) es un lenguaje funcional y declarativo que permite la explotación de datos en formato JSON diseñado para procesar grandes volúmenes de información. Para explotar el paralelismo, Jaql reescribe los queries de alto nivel (cuando es necesario) en queries de “bajo nivel” para distribuirlos como procesos MapReduce.
Internamente el motor de Jaql transforma el query en procesos mapear y reducir, para aminorar el tiempo de desarrollo asociado en analizar los datos en Hadoop. Jaql posee una infraestructura flexible para administrar y analizar datos semiestructurados como XML, archivos CSV, archivos planos, datos relacionales, etc.
Lucene
Es un proyecto de Apache bastante popular para realizar búsquedas sobre textos. Lucene provee de librerías para indexación y búsqueda de texto. Ha sido principalmente utilizado en la implementación de motores de búsqueda (aunque hay que considerar que no tiene funciones de “crawling” ni análisis de documentos HTML ya incorporadas). El concepto a nivel de arquitectura de Lucene es simple, básicamente los documentos (document) son dividos en campos de texto (fields) y se genera un índice sobre estos campos de texto. La indexación es el componente clave de Lucene, lo que le permite realizar búsquedas rápidamente independientemente del formato del archivo, ya sean PDF, documentos HTML, etc.
Oozie
Como pudo haber notado, existen varios procesos que son ejecutados en distintos momentos los cuales necesitan ser orquestados para satisfacer las necesidades de tan complejo análisis de información.
Oozie es un proyecto de código abierto que simplifica los flujos de trabajo y la coordinación entre cada uno de los procesos. Permite que el usuario pueda definir acciones y las dependencias entre dichas acciones.
Un flujo de trabajo en Oozie es definido mediante un grafo acíclico llamado Directed Acyclical Graph (DAG), y es acíclico puesto que no permite ciclos en el grafo; es decir, solo hay un punto de entrada y de salida y todas las tareas y dependencias parten del punto inicial al punto final sin puntos de retorno. Un ejemplo de un flujo de trabajo en Oozie se representa de la siguiente manera:
Flujo de trabajo en Oozie
Pig
Inicialmente desarrollado por Yahoo! para permitir a los usuarios de Hadoop enfocarse más en analizar todos los conjuntos de datos y dedicar menos tiempo en construir los programas MapReduce. Tal como su nombre lo indica al igual que cualquier cerdo que come cualquier cosa, el lenguaje PigLatin fue diseñado para manejar cualquier tipo de dato y Pig es el ambiente de ejecución donde estos programas son ejecutados, de manera muy similar a la relación entre la máquina virtual de Java (JVM) y una aplicación Java.
ZooKeeper
ZooKeeper es otro proyecto de código abierto de Apache que provee de una infraestructura centralizada y de servicios que pueden ser utilizados por aplicaciones para asegurarse de que los procesos a través de un clúster sean serializados o sincronizados.
Internamente en ZooKeeper una aplicación puede crear un archivo que se persiste en memoria en los servidores ZooKeeper llamado znode. Este archivo znode puede ser actualizado por cualquier nodo en el clúster, y cualquier nodo puede registrar que sea informado de los cambios ocurridos en ese znode; es decir, un servidor puede ser configurado para “vigilar” un znode en particular. De este modo, las aplicaciones pueden sincronizar sus procesos a través de un clúster distribuido actualizando su estatus en cada znode, el cual informará al resto del clúster sobre el estatus correspondiente de algún nodo en específico.
Como se puede observar, más allá de Hadoop, una plataforma de Big Data consiste de todo un ecosistema de proyectos que en conjunto permiten simplificar, administrar, coordinar y analizar grandes volúmenes de información.