Hadoop

Hadoop – это открытая программа для обработки и хранения больших объемов данных на кластере компьютеров. Она позволяет работать с очень большими наборами данных, распределенными на нескольких узлах в сети. Hadoop состоит из нескольких модулей, включая Hadoop Distributed File System (HDFS) для хранения данных и MapReduce для обработки данных параллельно на кластере компьютеров. В настоящее время Hadoop является одной из наиболее популярных платформ для обработки больших объемов данных. Используется для реализации поисковых и контекстных механизмов многих высоконагруженных веб-сайтов, в том числе, для Yahoo! и Facebook. Разработан на Java в рамках вычислительной парадигмы MapReduce, согласно которой приложение разделяется на большое количество одинаковых элементарных заданий, выполнимых на узлах кластера и естественным образом сводимых в конечный результат.

Считается одной из основополагающих технологий «больших данных». Вокруг Hadoop образовалась довольно большая экосистема из связанных проектов и технологий, многие из которых развивались изначально в рамках проекта, а впоследствии стали самостоятельными. Со второй половины 2000-х годов идёт процесс активной коммерциализации технологии, несколько компаний строят бизнес целиком на создании коммерческих дистрибутивов Hadoop и услуг по технической поддержке экосистемы, а практически все крупные поставщики информационных технологий для организаций в том или ином виде включают Hadoop в продуктовые стратегии и линейки решений. Это идеальное решение для различных видов приложений, включая веб-приложения, мобильные приложения и многое другое.

Разработка была инициирована в начале 2005 года Дугом Каттингом с целью построения программной инфраструктуры распределённых вычислений для проекта Nutch — свободной программной поисковой машины на Java, её идейной основой стала публикация сотрудников Google Джеффри Дина и Санжая Гемавата о вычислительной концепции MapReduce. Новый проект был назван в честь игрушечного слонёнка ребёнка основателя проекта.

В течение 2005—2006 годов Hadoop развивался усилиями двух разработчиков — Дуга Каттинга и Майка Кафареллы  в режиме частичной занятости, сначала в рамках проекта Nutch, затем — проекта Lucene. В январе 2006 года корпорация Yahoo пригласила Каттинга возглавить специально выделенную команду разработки инфраструктуры распределённых вычислений, к этому же моменту относится выделение Hadoop в отдельный проект. В феврале 2008 года Yahoo запустила кластерную поисковую машину на 10 тыс. процессорных ядер, управляемую средствами Hadoop.

В январе 2008 года Hadoop становится проектом верхнего уровня системы проектов Apache Software Foundation. В апреле 2008 года Hadoop побил мировой рекорд производительности в стандартизованном бенчмарке сортировки данных — 1 Тбайт был обработан за 209 сек. на кластере из 910 узлов. С этого момента начинается широкое применение Hadoop за пределами Yahoo — технологию для своих сайтов внедряют Last.fm, Facebook, The New York Times, проводится адаптация для запуска Hadoop в облаках Amazon EC2.

В апреле 2010 года корпорация Google предоставила Apache Software Foundation права на использование технологии MapReduce, через три месяца после её защиты в патентном бюро США, тем самым избавив организацию от возможных патентных претензий.

Начиная с 2010 года Hadoop неоднократно характеризуется как ключевая технология «больших данных», прогнозируется его широкое распространение для массово-параллельной обработки данных, и, наряду с Cloudera, появилась серия технологических стартапов, целиком ориентированных на коммерциализацию Hadoop. В течение 2010 года несколько подпроектов Hadoop — Avro, HBase, Hive, Zookeeper — последовательно стали проектами верхнего уровня фонда Apache, что послужило началом формирования экосистемы вокруг Hadoop. В марте 2011 года Hadoop удостоен ежегодной инновационной награды медиагруппы Guardian, на церемонии вручения технология была названа «швейцарским армейским ножом XXI века».

Реализация в вышедшем осенью 2013 года Hadoop 2.0 модуля YARN оценена как значительный скачок, выводящий Hadoop за рамки парадигмы MapReduce и ставящая технологию на уровень универсального решения для организации распределённой обработки данных.

Преимущества программы Hadoop:
1. Масштабируемость: Hadoop позволяет обрабатывать и хранить большие объемы данных, распределенных по нескольким узлам, что делает его идеальным для обработки Big Data.
2. Открытый исходный код: Hadoop является программным обеспечением с открытым исходным кодом, что означает, что его можно свободно использовать и настраивать в соответствии с потребностями организации.
3. Устойчивость к сбоям: Hadoop оснащен механизмами для восстановления данных в случае сбоев в работе узлов.
Недостатки программы Hadoop:
1. Сложность: Настройка и управление Hadoop может быть сложным и требовать специальных знаний и навыков.
2. Необходимость выделения ресурсов: Для работы с Hadoop требуется обеспечить достаточное количество вычислительных ресурсов и хранилища данных.
3. Ограниченные возможности: Несмотря на широкий спектр функциональности, Hadoop не всегда может быть оптимальным выбором для всех задач обработки и хранения данных.

Обсуждение закрыто.