The Google File System — Ghemawat, Gobioff & Leung (2003)
El sistema de archivos de Google — Ghemawat, Gobioff & Leung (2003)
Diseñar para el fallo
El Google File System (GFS) partió de una observación brutal: cuando tenés miles de servidores con discos baratos, los fallos de hardware no son la excepción sino la norma. En lugar de intentar prevenirlos, GFS fue diseñado desde cero asumiendo que los componentes se rompen constantemente. La tolerancia a fallos no era un feature — era la arquitectura misma.
GFS usaba una arquitectura maestro-esclavo con decisiones de diseño inusuales para la época. Los chunks eran enormes (64 MB en lugar de los típicos kilobytes), optimizados para lecturas secuenciales de archivos grandes. Un único servidor maestro mantenía todos los metadatos en memoria, simplificando enormemente la coordinación. Las escrituras se replicaban en al menos tres chunkservers, y el sistema soportaba operaciones de append atómicas que permitían a cientos de clientes escribir al mismo archivo simultáneamente.
Lo revolucionario de GFS fue demostrar que podías construir un sistema de almacenamiento confiable a partir de componentes no confiables usando software inteligente. Esta filosofía — hardware commodity más software sofisticado — se convirtió en el principio rector de toda la infraestructura de escala web. HDFS (Hadoop Distributed File System) es esencialmente un clon open source de GFS, y sin él no existiría el ecosistema de big data que alimenta a la industria moderna.
Paper original: https://research.google/pubs/pub51/
Newsletter
Si llegaste hasta acá, sabés que esto vale la pena.
Un email por paper. Sin resúmenes semanales ni contenido de relleno.
También en Magacín
MapReduce: Procesamiento de datos simplificado en grandes clústeres — Dean & Ghemawat (2004)
El paper de Google que definió cómo procesar datos a escala. Veinte años después, su modelo mental sigue siendo la base de todo sistema distribuido.
En busca de un algoritmo de consenso comprensible — Ongaro & Ousterhout (2014)
Raft: el algoritmo de consenso diseñado para ser entendido. Una alternativa a Paxos que se convirtió en el estándar de facto para sistemas distribuidos modernos.
Dynamo: El almacén de clave-valor altamente disponible de Amazon — DeCandia et al. (2007)
El paper que inspiró toda una generación de bases de datos NoSQL. Cómo Amazon sacrificó consistencia por disponibilidad y cambió la industria.