пятница, 31 августа 2012 г.

Об эволюции слонов


У большинства окружающих нас программ список релизов устроен просто и скучно. Сначала появляются первые, нестабильные релизы  0.1, 0.2, через какое то время появляется стабильная единичка, патчи к ней, потом приходит время двойки и так далее.

Но для hadoop'а, как для инновационной технологии, призванной изменить подходы
к хранению и обработке информации в мире, такое простое решение с номерами не катит. Hadoop относится к тем вещам, фичи которых нужны уже прямо сейчас, а не с выходом, а потом стабилизацией следующей версии.

Поэтому на сегодняшний день дерево версий хадупа выглядит примерно так:

Небольшое пояснение к схеме:
  • синие квадратики обозначают официальные релизы Аpache Hadoop, которые бесплатно доступны для всех в этом мире
  • пунктирные квадраты - это бранчи хадупа, которые не были его официальными релизами, однако они обычно доступны в виде исходных кодов или tar архивов.
  • красные овалы - коммерческие производные hadoop, которые могут быть основаны на hadoop, или использовать hadoop как часть специальных систем (как в случае MapR). Эти производные могут быть или не быть совместимыми с Hadoop или его компонентами.
На схеме отчетливо виден драматический процесс рождения "черной дыры": за то время пока к выпуску готовился релиз 0.21 хадупа, релизы 0.20+ уже успели захватить популярность во все мире. Нововведения, такие как HDFS append (возможность дозаписи в hdfs) были критичны для развития hBase, поэтому они просто были просто слиты обратно с 0.20 в версию 0.20.2-append. Похожая история могла произойти и с релизом 0.22: два релиз менеджера пытались довести его до конца и лишь одному из них удалось подтянуть значительную часть сил сообщества за собой.

HDFS append не был доступен в официальным релизах Apache Hadoop 0.20. В конце концов он был слит в версию 0.20.205, впоследствии переименованную в hadoop 1.0. Наличие HDFS append в сборке позволяет интегрировать hBase в официальный Apache Hadoop безо всяких патчей.

Еще один значимый релиз - это 0.20.203, реализующий надежную, хорошо протестированную систему безопасности hadoop на основе Kerberos. Релиз был разработан командой Yahoo! Hadoop development, ныне выделившуюся в отдельную компанию HortonWorks.

Диаграмма сверху ясно показывает несколько важных упущений коммерческих реализаций:
  • многие из них не поддерживает Kerberos security (Greenplum, IBM, MapR)
  • также в решениях от Greenplum и IBM недоступна HBase из-за  отсутствия HDFS append. В случае MapR приходится использовать  специальную версию HBase, распространяемую MapR.
Релиз 0.23 включил в себя множество важных инноваций в hadoop'е:
Версия 0.23.1 основан стабильный релиз hadoop 2.0, который сейчас находится в стадии альфа-версии. Все новшества уже доступны в недавно появившемся пакете Cloudera Hadoop Distribution 4 (CDH 4).

Информацию о том, как развивались версии hadoop'а, а так же как выглядит дерево релизов, мне удалось подчерпнуть в блоге Konstantin Boudnik и официальном блоге cloudera. Идею, как это дерево может расти дальше можно прочитать вот в этом первоапрельском посте.

Комментариев нет:

Отправить комментарий