Big Data: Las soluciones open source más allá de Hadoop

Open Source Big Data Tools

Cuando hablamos de Big Data no podemos evitar hablar de Apache Hadoop en alguna de sus implementaciones. Pero en el ecosistema de Big Data hay muchas otras variantes, tanto en file systems (como lo es Apache Hadoop), como en lo que hace a herramientas de búsqueda.

Recordemos, en un toque anecdótico, que Hadoop fue creado por Doug Cutting, quién lo bautizó con el nombre del que había sido su elefante de juguete. La intención de Cutting era la de apoyar la distribución del motor de búsqueda del proyecto Nutch, un robot y motor de búsqueda basado en Lucene, proyecto que es gestionado por Apache Software. Nutch ofrece una solución transparente, pues al ser una tecnología de código abierto es posible conocer como organiza el ranking de resultados de las búsquedas. Está desarrollada en Java, y basa su arquitectura en la plataforma Hadoop de desarrollo de sistemas distribuidos.

Por su parte, Apache Lucene es una API de código abierto para recuperación de información, originalmente implementada en Java por Doug Cutting. Está apoyado por el Apache Software Foundation y se distribuye bajo la Apache Software License. Lucene tiene versiones para otros lenguajes incluyendo Delphi, Perl, C#, C++, Python, Ruby y PHP.

Hecho este breve resumen, podemos decir que Hadoop es solamente una pieza dentro de un ambiente de software como el de Big Data, que crece y evoluciona velozmente. Hay muchas opciones en Big Data y la buena noticia es que muchas de ellas son open source.

En un artículo escrito por Paul Rubens, columnista de Datamation, el autor se pregunta cuál será la razón por la que existen tantos proyectos open source relacionados con Big Data. Y, tal como lo reconoce, no encuentra que exista una respuesta contundente. Sin embargo, se inclina a pensar que lo más probable es que se deba a que Hadoop, un proyecto open source, fue el que dio el impulso inicial y puso en marcha al mundo Big Data. Dado que Hadoop ees open source, mucha de la gente que trabaja con este sistema de archivos pertenece al mundo open source y, consecuentemente, muchas de las herramientas que desarrollan serán también open source.

Y el que muchos de los recursos para Big Data sean open source es importante para su evolución. Al ser software libre, puede ser descargado por los usuarios a nivel departamental e incluso antes de que los colegas de IT lo hayan estudiado y adoptado.

Pero más allá de toda conjetura, las organizaciones terminarán beneficiándose de la libre disponibilidad de ese software. En lugar de pagar licencias a las compañías proveedoras, pueden invertir en tener el software open source debidamente puesto a la medida de sus necesidades. Para quiénes no sientan tener el expertise necesario para embarcarse en una aventura de esa clase, siempre está la opción de recurrir a proveedores que ofrecen soporte pago para las aplicaciones open source.

Existen muchas herramientas y desarrollos open source relacionados con Big Data. En su artículo, Rubens hace referencia a algunas de las que considera más necesarias o demandadas.

La primera de ellas es Lumify, un proyecto joven que incluye una plataforma que ofrece una fusión de Big Data con visualización y análisis. Su interfaz basada en Web permite descubrir conexiones y explorar relaciones de datos utilizando sus capacidades analíticas. En cuanto a visualización, cuenta con gráficos 2D y 3D, búsquedas basadas en texto, histogramas dinámicos, mapas geográficos interactivos y espacios de colaboración.

Otra plataforma es la de Talend Open Studio for Big Data. Permite trabajar con Hadoop y bases de datos NoSQL. Ofrece herramientas gráficas fáciles de usar y asistentes para la generación de código nativo capaz de potenciar las capacidades de Hadoop.

También tenemos a HPCC Systems Big Data. Se trata de una plataforma para la manipulación, transformación, consulta y almacenamiento en warehouses de Big Data. Se puede decir que es una alternativa de Hadoop. Utiliza la refinería de datos Thor, el motor de consulta y delivery de Roxie y ECL (Enterprise Control Le nguage), lo que lo convierte en una alternativa de Apache Pig. Cabe destacar que ECL es probadamente más veloz que Pig. Su Community Edition es una versión libre de la plataforma HPCC Systems y cuenta con el apoyo de una comunidad de desarrolladores muy activa.

Aquí no podía faltar Apache Storm, un sistema de computación distribuida en tiempo real con el que se pueden procesar ilimitados streams de datos en forma muy confiable. Se puede decir que su accionar para tiempo real equivale a lo que hace Hadoop para el procesamiento batch. Se puede utilizar con cualquier lenguaje de programación.

Siguiendo con Apache, sin duda un organismo de alta actividad, tenemos a Apache Drill, un motor SQL para exploración de Big Data. Este motor fue diseñado para atender a tareas de análisis de alta performance con datos semi estructurados, característicos de las actuales aplicaciones Big Data. Drill ofrece integración con Apache Hive y Apache HBase.

Y hay más Apache. Se trata de Samoa (Scalable Advanced Massive Online Analysis), plataforma para la minería de datos en streams de alto volumen. Se trata de un contexto o framework del tipo ML (Machine Learning) para streaming. Hace abstracción de la programación cuando maneja algoritmos de streaming distribuido ML. Lo interesante es que permite desarrollar nuevos algoritmos ML sin tener que vérselas con la complejidad de los motores DSPE (Distributed Streaming Processing Engine) que trabajan en el bajo nivel, tales como lo son Apache Storm, Apaceh S4 y Apache Samza.

Ikanow es algo diferente a los anteriores. Quiénes trabajan en este proyecto manifiestan que se trata de la primer plataforma analítica de seguridad no estructurada. La versión libre Community Edition permite trabajar con datos estructurados y no estructurados y entrega dispositivos de ingesta, búsqueda, widgets y exportación en una plataforma abierta y auto soportada.

En casi todos lo proyectos de Big Data existe un factor común: la búsqueda. Y es en el terreno de las herramientas de búsqueda para Big Data donde tenemos también algunas alternativas interesantes.

La primera de ellas es Apache Soir. Es una herramienta de alta confiabilidad, escalable y con tolerancia a fallos. Ofrece indexación distribuida, replicación y consulta (querying) con carga equilibrada. También cuenta con superación de fallos automatizada, recuperación, configuración centralizada y otras características interesantes. Soir está hoy impulsando los dispositivos de búsqueda y navegación de muchos de los más activos sitios internet del mundo y está basada en Apache Lucene, la tecnología de indexación y búsqueda creada con Java.

Por último, Rubens hace mención a ElasticSearch, un motor de búsqueda y análisis que trabaja en forma distribuida y es open source. Fue diseñado para escalar horizontalmente y, además de ser fácil de administrar, es muy confiable. Combina la velocidad de búsqueda con la potencia de sus analíticos mediante un lenguaje de consulta que resulta muy amigable para los desarrolladores. Maneja datos estructurados, no estructurados y con series de tiempo.