MapReduce: Simplified Data Processing on Large Clusters — Dean & Ghemawat (2004)
MapReduce: Procesamiento de datos simplificado en grandes clústeres — Dean & Ghemawat (2004)
El patrón que simplificó lo imposible
En 2004, Jeff Dean y Sanjay Ghemawat publicaron un paper que transformó la ingeniería de datos para siempre. MapReduce abstrajo la complejidad del procesamiento distribuido en dos funciones simples: una función map que transforma cada registro de entrada en pares clave-valor intermedios, y una función reduce que combina todos los valores asociados a una misma clave. El framework se encargaba automáticamente de la distribución, la tolerancia a fallos y el balanceo de carga.
La genialidad de MapReduce no estaba en su sofisticación técnica — programadores funcionales reconocerían el patrón inmediatamente. Estaba en su capacidad de democratizar el cómputo distribuido. Antes de MapReduce, escribir programas que corrieran en miles de máquinas requería expertise en sistemas distribuidos. Después, cualquier ingeniero que pudiera escribir dos funciones podía procesar petabytes de datos. Google lo usaba internamente para indexar la web, construir el grafo de links y generar datos para Google Maps.
Aunque MapReduce como implementación fue eventualmente superado por sistemas como Spark y Flink que soportan grafos de computación más complejos, su modelo mental persiste en toda la industria. Cada vez que pensás en un pipeline de datos como una secuencia de transformaciones y agregaciones, estás pensando en MapReduce. Hadoop llevó la idea al mundo open source, y de ahí nació todo el ecosistema de big data que conocemos hoy.
Paper original: https://research.google/pubs/pub62/
Newsletter
Subscribite al Newsletter
Un email semanal con un resumen de los últimos artículos.
También en Magacín
El sistema de archivos de Google — Ghemawat, Gobioff & Leung (2003)
Traducción al español de 'The Google File System' (Ghemawat, Gobioff & Leung, 2003). El sistema de archivos distribuido que hizo posible indexar internet. Diseñado para fallar: asume que los discos se rompen y sigue funcionando igual.
En busca de un algoritmo de consenso comprensible — Ongaro & Ousterhout (2014)
Traducción al español del paper Raft (Ongaro & Ousterhout, 2014). El algoritmo de consenso diseñado para ser entendido: una alternativa legible a Paxos que se convirtió en el estándar de facto para sistemas distribuidos modernos.
Una arquitectura de sistemas ciberfísicos para sistemas de fabricación basados en Industria 4.0 — Lee, Bagheri y Kao (2015)
Traducción al español del paper seminal sobre sistemas ciberfísicos e Industria 4.0 (Lee, Bagheri & Kao, 2015). Define la arquitectura de 5 niveles (5C) para implementar CPS en manufactura inteligente. El texto fundacional de Industry 4.0 en español.