Descubre las principales tecnologías de Big Data para 2019
Quizás cueste creerlo, pero solo en los últimos tres o cuatro años se han creado más datos que en toda la historia de la humanidad. Sin embargo, apenas se analiza un 1 por ciento del total, a pesar del potencial disruptor que tiene el disponer de tal cantidad de información en multitud de campos, teóricos y prácticos.
El procesamiento y análisis de datos en masa es lo que llamamos Big Data, una disciplina que en el sector empresarial tiende a dar excelentes resultados, ayudando a generar oportunidades de negocio, optimizar campañas, mejorar la competitividad y aumentar los ingresos. Es por ello que el Big Data se ha convertido en uno de los fenómenos más prometedores del mundo de la tecnología.
Por el mismo motivo, no es de extrañar que hayan surgido numerosas tecnologías de Big Data, cuya especialización es toda una garantía para labrarse un futuro en el sector empresarial como arquitecto o científico de datos. En este artículo recogemos algunas de las más importantes, aquellas que debido a su madurez se han asentado como referentes.
Antes, cabe advertir que para especializarse en dichas tecnologías es preciso contar con formación altamente cualificada, como la que ofrece el Máster en Big Data Management de ICEMD, un título imprescindible para el futuro profesional de Big Data impartido por Francisco Javier LaHoz, Head of Data Engineering en Orange y Director del Máster en Big Data Management de ICEMD.
Principales tecnologías Big Data para este 2019
Ya sea en casos de procesamiento por lotes o en tiempo real, es posible separar las diferentes tecnologías de Big Data por su fase o tipología:
Ingesta o adquisición de datos:
- Kafka, bus de mensajería para producir y consumir eventos en tiempo real. Se ha instaurado como tecnología clave en arquitecturas de Streaming para mover cientos de miles de eventos por segundo.
- Flume, permite la ingesta de logs o eventos para enviarlos a sistemas de almacenamiento distribuidos como puede ser HDFS (Hadoop Distributed File System), Hive o Kafka, entre otros.
- Sqoop, habilita la importación y exportación de bases de datos relacionales a HDFS o Hive. Al igual que Flume pertenecen al ecosistema de Hadoop y se vienen usando desde hace unos años.
Procesamiento Batch o procesamiento por lotes:
- Spark, framework de procesamiento distribuido en memoria mediante APIs de alto nivel como Dataframes o SQL. Se ha instaurado en los últimos 3 o 4 años por la versatilidad del framework y porque se implementa con diversos lenguajes de programación: Scala, Java, Python o R.
- Hive, sistema de almacén de datos sobre HDFS que habilita procesar y analizar datos con un interfaz like SQL. También se engloba en el ecosistema de Hadoop y se utiliza desde hace unos cuantos años por su simplicidad en el uso al dotar de una sintaxis similar al SQL (aunque con ciertas limitaciones).
Procesamiento en Tiempo Real o en Streaming:
- Spark Structured Streaming, aporta capacidades near real time integradas en el framework de Spark para procesamiento de eventos mediante el motor de Spark SQL. (Se ha incluido a partir de la versión 2.2 para mejorar las capacidades de Streaming de versiones anteriores y su facilidad de uso hace que se empiece a utilizar en nuevos proyectos de Streaming.)
- Kafka Streams, es una librería para la construcción de aplicaciones en Streaming integrada nativamente con Kafka para la lectura y escritura de eventos. (Cada vez se comienza utilizar más en arquitecturas Kafka Centric y se puede “contenerizar” con Docker para desplegarse en plataformas de Kubernetes dotando a las aplicaciones de mayor escalabilidad.)
- Flink, aunque todavía no está muy maduro para un uso empresarial se está estableciendo como una tecnología de real time que hace frente a Spark ya que incorpora unas APIs similares pero con un procesamiento en streaming más cercano al real time que Spark.
Almacenamiento NoSQL (Not Only SQL):
- Redis, base de datos clave-valor en memoria que la dota de latencias muy bajas para consulta. Se suele utilizar como solución de cache para reducir el tiempo de acceso a los datos.
- HBase, base de datos clave-valor de tipo column family integrada con el ecosistema de Hadoop ya que almacena los datos en HDFS. Permite consultas de billones de registros con un tiempos de respuesta muy bajos.
- Cassandra, otra base de datos clave-valor de tipo column family con una arquitectura en anillo que la hace diferente de HBase. Permite tasas de escritura muy altas y se puede desplegar junto a Spark para integrar procesamiento y almacenamiento.
- MongoDB, base de datos orientada a documentos sin esquema que la posiciona como unas de las bases de datos más utilizada por su versatilidad y facilidad de uso.
- Elasticsearch, motor de optimizado para búsqueda libre y analítica a escala con accesos muy rápidos que cubre diversidad de casos de uso, algunos de ellos, ligados a la monitorización.
Analítica de datos:
- Python, lenguaje de programación con diversidad de paquetes estadísticos y analíticos optimizados para modelización avanzada.
- R, entorno software para computación estadística y analítica con múltiples paquetes para el desarrollo de modelos. Al igual que Python también incluye diversidad de componentes para visualización.
- Keras y PyTorch, son APIs de alto nivel para desarrollo de redes neuronales escrita en Python que han democratizado el uso de Deep Learning para, por ejemplo, casos de reconocimiento de imágenes.
Por supuesto, estas no son ni mucho menos las únicas tecnologías de Big Data existentes, pero sí algunas de las más importantes a día de hoy, utilizadas por muchas muchas empresas y con una tendencia a presente y futuro realmente determinante.
Si quieres prepararte para dominar las tecnologías de Big Data y convertirte en un profesional cualificado en una de las ramas tecnológicas más demandadas, fórmate con el Máster en Big Data Management de ICEMD.