Технология Map/Reduce и распределенные вычисления
На прошедших выходных довелось мне побывать на 8-ми часовом мастер-классе, организованном компанией Codeminders по технологиям Map/Reduce и Apache Hadoop. Мастер-класс оказался очень интересным и познавательным, удалось сделать много заметок и выводов, которыми хотел бы поделиться в этой заметке.
Изначально статья получилась достаточно внушительных размеров - чуть более двух тысяч слов. Однако в последствии я принял решения выбросить всё то, что и так можно прочитать на сайте Apache Hadoop и не стал делать обзоров и описаний всего того многообразия проектов, которые включает в себя Hadoop, а остановиться на изложении сути и концепции самой технологии.
Прежде чем переходить к описанию, хотел бы написать несколько строк предистории.
Предшественником технологии распределенных вычислений в том виде, в котором мы знаем ее сейчас были и есть Grid-системы. Помнится, еще на 3-м курсе университета я слышал о внедрении и испытании такой системы в рамках научного проекта кафедры систем автоматизированного проектирования, на которой я учился. К сожалению, уже на тот момент эта система пережила свое время.
В 2004-м году компания Google занялась исследованиями в данной области и предложила концепцию Map/Reduce, за которой последовал ряд разработок, которые были успешно внедрены в эксплуатацию по обработке и построению поисковых индексов.
Читать далее →