La búsqueda global no está activada.
Salta al contenido principal
Foro

Foro de debate módulo 7

Software para Big Data / Big data software

Software para Big Data / Big data software

de Francisco Javier García Castellano - Número de respuestas: 4

En este curso vemos Apache Hadoop muy por encima y Apache Spark con un poco más de profundidad, pero más allá de estos dos ejemplos tecnológicos... ¿Qué otros softwares o ecosistemas conocéis para trabajar con Big Data?

Me interesa saber si habéis tenido contacto con otras herramientas de procesamiento, almacenamiento o incluso bases de datos diseñadas para escalar de forma masiva. ¡Espero vuestras aportaciones para ir ampliando el hilo!


In this course, we covered Apache Hadoop very briefly and Apache Spark more in-depth, but apart from these two examples... what other software or ecosystems do you know for working with Big Data?

I’m interested in knowing if you have had any contact with other processing tools, storage systems, or even databases designed to scale massively. I look forward to your contributions so we can expand this thread together!



En respuesta a Francisco Javier García Castellano

Re: Software para Big Data / Big data software

de Francisco Javier García Castellano -

Un pilar fundamental del Big Data son las bases de datos NoSQL (Not Only SQL). A diferencia de las relacionales clásicas, no nos obligan a usar tablas rígidas, permitiendo estructuras mucho más flexibles como documentos (JSON), pares clave-valor, columnas anchas o grafos.

Lo que las hace especiales para el Big Data es su capacidad de escalabilidad horizontal. Mientras que una base de datos tradicional sufre al crecer, las NoSQL están diseñadas para repartirse en cientos de servidores. Para lograr esta velocidad y alta disponibilidad, muchas adoptan el modelo BASE (Basically Available, Soft state, Eventually consistent), priorizando que el sistema siempre responda aunque los datos tarden unos milisegundos en sincronizarse en todo el clúster.

Hay ejemplos muy potentes según la necesidad:

  • MongoDB: Líder en almacenamiento de documentos.

  • Cassandra: Creada por Facebook, ideal para escritura masiva de datos (muy usada en Netflix).

  • HBase: La opción nativa si trabajas dentro del ecosistema Hadoop.

  • DynamoDB: La solución gestionada y ultra-rápida de Amazon (AWS).

Son herramientas esenciales cuando el volumen de datos cambia constantemente y necesitamos una respuesta inmediata que el SQL tradicional no puede procesar a esa escala.


A fundamental pillar of Big Data is NoSQL (Not Only SQL) databases. Unlike classic relational databases, they don't force us into rigid tables, allowing for much more flexible structures like documents (JSON), key-value pairs, wide columns, or graphs.

What makes them special for Big Data is their horizontal scalability. While a traditional database struggles as it grows, NoSQL databases are designed to be spread across hundreds of servers. To achieve this speed and high availability, many adopt the BASE model (Basically Available, Soft state, Eventually consistent), prioritizing system uptime even if data takes a few milliseconds to synchronize across the cluster.

There are powerful examples depending on the needs:

  • MongoDB: The leader in document storage.

  • Cassandra: Created by Facebook, ideal for massive data writing (widely used by Netflix).

  • HBase: The native choice if you are working within the Hadoop ecosystem.

  • DynamoDB: Amazon's (AWS) managed, ultra-fast solution.

These are essential tools when data volume changes constantly and we need an immediate response that traditional SQL simply cannot handle at that scale.


En respuesta a Francisco Javier García Castellano

Re: Software para Big Data / Big data software

de Francisco Javier García Castellano -

Otra pieza clave en el ecosistema es Elasticsearch. Aunque a veces se clasifica como una base de datos NoSQL, su función principal es ser un motor de búsqueda y analítica distribuido.

Seguramente lo usáis a diario sin saberlo: cuando buscáis un producto en una tienda online gigante o un hotel en una plataforma de reservas, es muy probable que Elasticsearch esté buscando entre millones de registros en milisegundos para daros el resultado. En el mundo del Big Data, se utiliza muchísimo junto a Logstash y Kibana (formando el famoso Stack ELK) para centralizar registros (logs) de miles de servidores y visualizar métricas complejas en tiempo real a través de cuadros de mando.

Es la herramienta imbatible cuando la prioridad es la velocidad de búsqueda y la exploración de datos masivos de forma casi instantánea.


Another key piece in the ecosystem is Elasticsearch. Although it is sometimes classified as a NoSQL database, its primary function is as a distributed search and analytics engine.

You probably use it every day without knowing it: when you search for a product in a massive online store or a hotel on a booking platform, Elasticsearch is likely searching through millions of records in milliseconds to give you the result. In the Big Data world, it is widely used alongside Logstash and Kibana (forming the famous ELK Stack) to centralize logs from thousands of servers and visualize complex metrics in real-time through dashboards.

It is the unbeatable tool when the priority is search speed and exploring massive data almost instantaneously.


En respuesta a Francisco Javier García Castellano

Re: Software para Big Data / Big data software

de Francisco Javier García Castellano -

Para entender el software moderno de Big Data, hay que distinguir dos formas de trabajar:

  1. Procesamiento por lotes (Batch): Es lo que hemos visto principalmente con Spark. Se toma un volumen de datos ya almacenado (un archivo gigante, una base de datos) y se procesa de golpe. Es muy eficiente, pero no es inmediato.

  2. Procesamiento en tiempo real (Streaming): Aquí los datos se procesan en cuanto llegan. Pensad en los datos de un sensor cardíaco o en las transacciones de una tarjeta de crédito; no podemos esperar a mañana para analizarlos, necesitamos respuestas ahora.

Apache Spark permite trabajar de ambas formas gracias a un módulo llamado Spark Structured Streaming. Sin embargo, trata el streaming como si fueran "muchos lotes pequeñitos" (micro-batches), procesando ráfagas cada pocos milisegundos.

Aquí es donde aparece Apache Flink, el gran rival de Spark en este campo. A diferencia de Spark, Flink fue diseñado desde cero para el streaming puro: procesa cada evento uno a uno, en el mismo instante en que ocurre.

  • Spark es el rey si tu trabajo es mayoritariamente de análisis histórico (Batch) y necesitas algo de tiempo real.

  • Flink es la elección si necesitas la latencia más baja posible (milisegundos reales) y una gestión perfecta de datos que llegan desordenados.


To understand modern Big Data software, we must distinguish between two ways of working:

  1. Batch Processing: This is what we have mainly seen with Spark. You take a volume of already stored data (a giant file, a database) and process it all at once. It’s very efficient, but not immediate.

  2. Real-time Processing (Streaming): Here, data is processed as soon as it arrives. Think of heart rate sensor data or credit card transactions; we can't wait until tomorrow to analyze them; we need answers now.

Apache Spark allows working in both ways thanks to a module called Spark Structured Streaming. However, it treats streaming as "many tiny batches" (micro-batches), processing bursts every few milliseconds.

This is where Apache Flink comes in, Spark's great rival in this field. Unlike Spark, Flink was designed from the ground up for pure streaming: it processes each event one by one, at the very instant it occurs.

  • Spark is king if your work is mostly historical analysis (Batch) and you need some real-time capability.

  • Flink is the choice if you need the lowest possible latency (true milliseconds) and perfect handling of data that arrives out of order.


En respuesta a Francisco Javier García Castellano

Re: Software para Big Data / Big data software

de Francisco Javier García Castellano -

Una vez que entendemos el streaming, es obligatorio hablar de Apache Kafka. Si Spark o Flink son los "cerebros" que procesan la información, Kafka es el sistema circulatorio que transporta los datos en tiempo real de un punto a otro.

Kafka es una plataforma de transmisión de eventos (event streaming) distribuida. Su función no es procesar los datos (como hace Spark), sino actuar como un búfer o intermediario ultra-rápido y masivo. Permite que miles de fuentes (sensores, registros de servidores, clics en una web) envíen datos simultáneamente sin colapsar el sistema, para que luego herramientas como Spark o Flink los "beban" y analicen.

¿Por qué es tan importante?

  • Desacoplamiento: Permite que el sistema que genera los datos y el que los analiza funcionen de forma independiente.

  • Escalabilidad: Puede manejar trillones de mensajes al día sin inmutarse.

  • Tolerancia a fallos: Guarda los datos de forma segura para que, si un analizador falla, pueda retomar el trabajo donde lo dejó.

Empresas como LinkedIn (donde nació el proyecto), Netflix o Uber lo usan para gestionar toda su actividad en vivo. Sin Kafka, el Big Data en tiempo real tal como lo conocemos no sería posible.


Once we understand streaming, we must talk about Apache Kafka. If Spark or Flink are the "brains" that process information, Kafka is the circulatory system that carries data in real-time from one point to another.

Kafka is a distributed event streaming platform. Its role is not to process the data (like Spark does), but to act as an ultra-fast, massive buffer or intermediary. It allows thousands of sources (sensors, server logs, web clicks) to send data simultaneously without crashing the system, so that tools like Spark or Flink can then "consume" and analyze them.

Why is it so important?

  • Decoupling: It allows the system generating the data and the system analyzing it to operate independently.

  • Scalability: It can handle trillions of messages a day without breaking a sweat.

  • Fault Tolerance: It stores data securely so that if an analyzer fails, it can pick up right where it left off.

Companies like LinkedIn (where the project was born), Netflix, or Uber use it to manage all their live activity. Without Kafka, real-time Big Data as we know it would not be possible.