Tres alternativas sólidas de Big Data en tiempo real: Spark, Storm y DataTorrent RTS

4 min lectura
Tres alternativas sólidas de Big Data en tiempo real: Spark, Storm y DataTorrent RTS
Tres alternativas sólidas de Big Data en tiempo real: Spark, Storm y DataTorrent RTS

BBVA API Market

Datos, datos, datos. Valor, valor, valor. Y a ser posible en tiempo real. El concepto de inteligencia de negocio en tiempo real lleva tiempo dentro del mercado, pero hasta hace muy poco el número de empresas que la utilizaban era reducido. Hoy en día, Hadoop es la plataforma más utilizada para el análisis de grandes volúmenes de datos por su estabilidad, pero cuando se necesita cálculo en streaming, soluciones como Spark, Storm o DataTorrent RTS son una gran elección.

La falta de penetración de este tipo de prácticas en el mercado se debía a dos motivos fundamentales: el primero, evidente, era la ausencia de herramientas de inteligencia de negocio en tiempo real y el segundo, las soluciones existentes sólo se orientaban hacia el análisis de datos por lotes con unos costes elevados. Spark, Storm y DataTorrent RTS solucionan las dos circunstancias.

1. Apache Spark

Apache Spark es, a buen seguro, la nueva gran estrella del análisis de los Big Data. Es una plataforma de código abierto para el procesamiento de datos en tiempo real, que puede ejecutarse y operarse con cuatro tipos de lenguajes distintos: Scala, la sintaxis en la que está escrita la plataforma; Python; R y también Java. La idea de Spark es ofrecer ventajas en el manejo de datos de entrada constante y con unas velocidades muy por encima de las que ofrece Hadoop MapReduce.

Algunas de sus características principales:

– Rapidez en procesos de cálculo en memoria y disco: Apache Spark promete una velocidad 100 veces más rápida en cálculo en memoria y 10 veces más ágil en disco que la que ofrece actualmente Hadoop MapReduce.

– Ejecución en plataformas de todo tipo: Spark se puede ejecutar en Hadoop, Apache Mesos, en EC2, en modo clúster independiente o en la nube. Además, Spark puede acceder a numerosas bases de datos como HDFS, Cassandra, HBase o S3, el almacén de datos de Amazon.

– Incorpora una serie de herramientas muy útiles para desarrolladores: la librería MLlib para implementar soluciones de aprendizaje automático y GraphX, la API de Spark para los servicios de computación con grafos.

– Dispone de otras herramientas interesantes: Spark Streaming, que permite el procesamiento de millones de datos entre los clústeres, y Spark SQL, que facilita la explotación de esos datos a través del lenguaje SQL.

2. Apache Storm

Apache Storm es una sistema de computación distribuida en tiempo real y de código abierto. Permite el procesamiento sencillo y fiable de grandes volúmenes de datos en analítica (por ejemplo para el estudio de información de modalidad continua procedente de redes sociales), RPC distribuida, procesos de ETL

Mientras que Hadoop se encarga del procesamiento de datos por lotes, Storm se encarga de hacerlo en tiempo real. En Hadoop los datos se introducen en su sistema de archivos (HDFS) y después se distribuyen a través de los nodos para ser procesados. Cuando esa tarea finaliza, la información regresa de los nodos al HDFS para ser utilizada. En Storm no hay un proceso con un origen y un final: el sistema se basa en la construcción de topologías de los Big Data para su transformación y análisis dentro de un proceso continuo de entrada constante de información.

Por esa razón Storm es algo más que un sistema de análisis de Big Data, es un sistema de procesamiento de eventos complejos (Complex Event Processing, CEP). Este tipo de soluciones son las que permiten a las empresas poder responder a la llegada de datos de forma repentina y continua (información recopilada en tiempo real por sensores, millones de comentarios generados en redes sociales como Twitter, WhatsApp o Facebook, transferencias bancarias…).

Además, para un desarrollador es especialmente interesante por varias razones:

– Se puede utilizar en varios lenguajes de programación. Storm está desarrollado en Clojure, un dialecto de Lisp que se ejecuta en Máquina Virtual Java (JVM, en sus siglas en inglés). Su gran fortaleza es que ofrece compatibilidad con componentes y aplicaciones escritos en varios lenguajes como  Java, C#, Python, Scala, Perl o PHP.

– Es escalable.

– Tolerante a fallos.

– Fácil de instalar y operar.

3. DataTorrent RTS

DataTorrent RTS es una solución de código abierto para el procesamiento y análisis de grandes datos por lotes y también en tiempo real. Un todo en uno que pretende revolucionar no sólo lo que se puede hacer con el entorno Hadoop MapReduce, sino también lo que ya ofrecen tanto Spark como Storm en prestaciones. La plataforma es capaz de procesar miles de millones de eventos por segundo y recuperar cualquier caída de un nodo sin pérdida de datos e intervención humana.

Algunas de sus características fundamentales son:

– Procesamiento de eventos garantizado.

– Alto rendimiento en memoria.

– Es escalable.

– Tolerancia a fallos a nivel de plataforma.

– Fácil de ejecutar.

– Programación de aplicaciones en lenguaje Java.

Esta solución de Big Data proporciona mecanismos para la ingesta de información de muchas fuentes distintas, directamente de bases de datos externas o a través de su integración con las aplicaciones nativas de las empresas. DataTorrent RTS proporciona a los equipos técnicos un grupo de conectores previamente desarrollados para bases de datos SQL y NoSQL, Apache Sqoop, Apache Kafka, Apache Flume o redes sociales como Twitter… Todo aquello que genere datos.

Al final, estas herramientas de Big Data facilitan a las empresas conocer cuáles son las verdaderas oportunidades de negocio, acortando los plazos de estudio y análisis y reduciendo los costes. Es la batalla por el tiempo real y los modelos predictivos para ganar en competitividad y ganarle la partida a la competencia.

Síguenos en @BBVAAPIMarket

También podría interesarte