|
|
|
|
|
МИНОБРНАУКИ РОССИИ |
|
|||
Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования "Московский государственный технический университет радиотехники, электроники и автоматики" МГТУ МИРЭА
|
|
|||
|
__________________________________Кибернетика________________________________ (наименование факультета) |
|||
|
____________________________ «Высшая математика»_____________________________ (наименование кафедры) |
КУРСОВАЯ РАБОТА |
|
по дисциплине |
|
«Программирование баз данных» (наименование дисциплины) |
|
Тема курсовой работы «Распределенная обработка больших объемов данных методом MapReduce» (наименование темы)
|
|
Студент группы КБ-31-10 (учебная группа) |
Коровкина Т. О. (Фамилия И.О) |
Руководитель курсовой работы (должность, звание, ученая степень) к.т.н. |
Де Ванса В. К. (Фамилия И.О) |
Рецензент (при наличии) __________________________________________ (должность, звание, ученая степень) |
_______________________________________ (Фамилия И.О) |
|
|
Работа представлена к защите |
«__»_______201___ г. |
(подпись студента) |
|
|
|
«Допущен к защите» |
«__»_______201___ г. |
(подпись руководителя) |
Москва 2012 содержание
Введение..............................................................................................................................................3
1. Последовательное и параллельное программирование..............................................................4
1.1. Основы параллельного программирования..................................................................4
Модель программирования MapReduce.......................................................................................6
2.1 Как работает MapReduce..................................................................................................7
2.2 Отказоустойчивость.........................................................................................................9
2.3 Примеры применения MapReduce..................................................................................9
2.4 Оптимизация...................................................................................................................10
Выводы..............................................................................................................................................10
Список использованных источников..............................................................................................11
Приложения.......................................................................................................................................12
Введение
MapReduce — фрэймворк, разработанный инженерами компании Google, позволивший существенно упростить и ускорить обработку больших объемов данных.
Актуальность моей работы заключается в том, что на данный момент MapReduce— единственный фрэймворк, позволяющий существенно ускорить обработку больших объемов данных, однако доступных и понятных любому человеку, в том числе «новичку» в программировании, материалов про MapReduce на русском языке практические нет.
Цель моей работы в том, чтобы разобраться в выбранной теме, используя существующие источники на английском и русском языках (описания, видео) и как можно лучше и понятнее изложить усвоенный мной материал.
Задачи, которые необходимо решить для достижения поставленной цели:
Изучить доступные материалы по MapReduce (столько, сколько необходимо для полного понимания темы);
Изложить изученный материал как можно более простым языком, при необходимости снабдив его иллюстрациями, облегчающими понимание.
Поиск материалов осуществояется исключительно в сети интернет, так как печатные материалы по данной теме на сегодняшний день отсутствуют.
В своей работе я расскажу о концепции параллельного программирования, которая лежит в основе MapReduce, об эволюции реализации этой концепции и приведу примеры ее использования. Я подробно рассмотрю устройство фрэймворка MapReduce, опишу каждый пункт его работы, покажу, почему использование MapReduce удобно, а порой даже необходимо при решении актуальных задач, которые неизбежно встрают сегодня перед инженерами крупных компаний, в том числе Google, Mail.ru, Microsoft и другие.