Big Data Lab · Semana 04

Distributed Processing Lab

Ya distribuiste el almacenamiento de NexoRetail 360. Ahora el reporte mensual de ventas tarda demasiado en generarse: decide cómo dividir el trabajo entre workers sin gastar cómputo en coordinación innecesaria.

Reto de ingeniería

El equipo de analítica ejecuta un trabajo por lotes sobre millones de registros de ventas. Corrido en un solo proceso tarda demasiado. Alguien propone "simplemente agregar más workers", pero otra persona del equipo advierte que eso no siempre ayuda. Tu trabajo es comprobarlo: ¿cuándo agregar paralelismo reduce el tiempo, y cuándo solo agrega overhead?

Objetivos de la sesión

1 · Laboratorio de datos

Aquí trabajas con datos reales de muestra, procesados en tu propio navegador con DuckDB-Wasm (un motor SQL que corre localmente mediante un Web Worker). No es una simulación: las consultas de esta sección se ejecutan de verdad sobre las filas que elijas.

🔒 Procesamiento local

Los datos que selecciones aquí (el dataset incluido, uno generado o un archivo de tu equipo) se procesan en este navegador. Este laboratorio no los envía al servidor del curso ni a ninguna API externa.

Inicializando motor local de datos…

2 · Hipótesis

Completa las dos preguntas y pulsa «Registrar hipótesis y comenzar» para desbloquear la ejecución.

4 · Pipeline de procesamiento

Simulación arquitectónica — modelo didáctico de distribución del procesamiento, no un clúster real.

1 · Particionar
2 · Procesar
3 · Agregar

Fase actual: en espera.

5 · Rendimiento simulado

Los tiempos son simulados para enseñar relaciones causales (particiones, skew, E/S, coordinación); no son un benchmark real.

Duración
Throughput
Utilización
Speedup
Eficienciaspeedup / workers activos
Workers ociosos
El paralelismo reduce tiempo solo si hay suficientes particiones y el trabajo está razonablemente balanceado.

7 · Distribución de carga por partición

8 · Decisión de ingeniería

9 · Evidencia de aprendizaje

Continuidad curricular

Antes: en la Semana 3 distribuimos el almacenamiento entre nodos.

Después: ya distribuimos también el procesamiento. En la Semana 5 los datos dejarán de llegar en lotes fijos: veremos qué pasa cuando llegan de forma continua (streaming).