Prólogo

Muchas de las ideas que sustentan el proyecto Apache Hadoop tienen décadas de antigüedad. El mundo académico y la industria llevan explorando el almacenamiento y la computación distribuidos desde la década de 1960. Toda la industria tecnológica surgió de la demanda gubernamental y empresarial de procesamiento de datos, y en cada paso de ese camino, los datos parecían grandes para la gente del momento. Incluso algunas de las aplicaciones más avanzadas e interesantes se remontan muy atrás: el aprendizaje automático, una capacidad que es nueva para muchas empresas, remonta sus orígenes a la investigación académica de los años 50 y al trabajo práctico en sistemas de los años 60 y 70.

Pero sencillamente no se encontraron sistemas reales, prácticos, útiles, escalables masivamente y fiables -al menos no de forma barata- hasta que Google se enfrentó al problema de Internet a finales de los 90 y principios de los 2000. Recopilar, indexar y analizar toda la web era imposible, utilizando la tecnología comercial de la época.

Google desempolvó décadas de investigación en sistemas a gran escala. Sus arquitectos se dieron cuenta de que, por primera vez, se podían tener los ordenadores y las redes que necesitaban, a un coste razonable.

Su trabajo sobre el Sistema de Archivos de Google (GFS) para el almacenamiento y sobre el marco MapReduce para la computación creó la industria de los grandes datos.

Este trabajo llevó a la creación del proyecto Hadoop de código abierto en 2005 por Mike Cafarella y Doug Cutting. El hecho de que el software fuera fácil de conseguir y pudiera ser mejorado y ampliado por una comunidad mundial de desarrolladores, lo hizo atractivo para un amplio público. Al principio, otras empresas de Internet de consumo utilizaron el software para seguir el ejemplo de Google. Rápidamente, sin embargo, las empresas tradicionales se dieron cuenta de que algo estaba ocurriendo y buscaron formas de participar.

En la década transcurrida desde que se inició el proyecto Hadoop, el ecosistema se ha disparado. Antes, el único sistema de almacenamiento era el Sistema de Archivos Distribuidos Hadoop (HDFS), basado en GFS. Hoy en día, HDFS prospera, pero hay muchas otras opciones: Amazon S3 o Microsoft Azure Data Lake Store (ADLS) para el almacenamiento en la nube, por ejemplo, o Apache Kudu para IoT y datos analíticos. Del mismo modo, MapReduce era originalmente la única opción para analizar datos. Ahora, los usuarios pueden elegir entre MapReduce, Apache Spark para procesamiento de flujos y cargas de trabajo de aprendizaje automático, motores SQL como Apache Impala y Apache Hive, y más.

Todos estos nuevos proyectos han adoptado la arquitectura fundamental de Hadoop: sistemas distribuidos a gran escala, que no comparten nada, conectados por una buena red, trabajando juntos para resolver el mismo problema. Hadoop es el progenitor de código abierto, pero el ecosistema de big data construido sobre él es mucho más potente -y más útil- que el proyecto Hadoop original.

Esa explosión de innovación significa que los big data son más valiosos que nunca. Las empresas están ansiosas por adoptar la tecnología. Quieren predecir el comportamiento de los clientes, prever fallos en las máquinas de sus fábricas o en los camiones de sus flotas, detectar fraudes en sus flujos de transacciones y ofrecer una atención específica -y mejores resultados- a los pacientes en los hospitales.

Pero esa innovación, tan valiosa, también les confunde. ¿Cómo pueden seguir el ritmo de las mejoras y la avalancha de nuevos proyectos en el ecosistema del código abierto? ¿Cómo pueden implementar y operar estos sistemas en sus propios centros de datos, cumpliendo las expectativas de fiabilidad y estabilidad de los usuarios y los requisitos de la empresa? ¿Cómo pueden asegurar sus datos y aplicar las políticas que protegen la información privada de los ciberataques?

Dominar la plataforma en un contexto empresarial plantea nuevos retos que profundizan en los datos. Hemos podido almacenar y buscar datos de un mes, o de un trimestre, durante mucho tiempo. Ahora, podemos almacenar y buscar datos de una década, o de un siglo. Esa gran diferencia cuantitativa se convierte en una diferencia cualitativa: ¿qué nuevas aplicaciones podemos construir cuando podemos pensar en un siglo?

El libro que tienes ante ti es tu guía para responder a esas preguntas mientras construyes tu plataforma de big data empresarial.

Jan, Ian, Lars y Paul -los autores de este libro- son profesionales prácticos en este campo, con muchos años de experiencia ayudando a las empresas a obtener un valor real de los macrodatos. No sólo son usuarios de Hadoop, Impala, Hive y Spark, sino que también participan activamente en la comunidad de código abierto, ayudando a dar forma a esos proyectos, y a sus capacidades, para su adopción por parte de las empresas. Son expertos en las capacidades analíticas, de procesamiento de datos y de aprendizaje automático que ofrece el ecosistema.

Cuando la tecnología avanza rápidamente, es importante centrarse en técnicas e ideas que resistan el paso del tiempo. Este consejo sirve para el software -Hadoop y sus muchos servicios asociados- que existe en la actualidad. El pensamiento y el diseño, sin embargo, no están vinculados a proyectos específicos, sino a la arquitectura fundamental que hizo que Hadoop tuviera éxito: el software a gran escala, distribuido y compartido requiere un nuevo enfoque de las operaciones, la seguridad y la gobernanza.

Aquí aprenderás esas técnicas y esas ideas.

Get Arquitectura de plataformas de datos modernas now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.