MapReduce је модел програмирања погодан за претрагу великих скупова података.[1][2]

MapReduce програм се састоји од процедуре мапирања (енгл. map) која обавља филтрирање и сортирање (на пример сортирање студената по имену) и процедуре редуковања (енгл. reduce) које обавља збирну операцију (на пример бројање колико има студената са сваким именом). MapReduce систем се извршава уз помоћ прикупљања са дистибуираних сервера, паралелног извршавања операција, управљања током и преносом података између различитих делова система, на тај начин обезбеђујући особине редудансе и робусности.

Модел се заснива на функцијама мапирања и редуковања. Оне се најчешће користе у функционалном програмирању, али је њихова сврха у оквиру МапРедуце другачија.[3][4] Кључне предности MapReduce оквира су скалабилност и робусност. Док све предности МапРедуце оквира могу бити уочљиве само са вишенитном имплементацијом, јер једнонитна имплементација (на пример МонгоДБ) не може бити бржа од традиционалног (не МапРедуце) модела програмирања.[5] Употреба овог модела је оправдана само ако су присутне оптимизована дистрибуирана операција shuffle (која смањује трошкове мрежне комуникације) и особина робусности. Оптимизација трошкова комуникације је такође од великог значаја за добар MapReduce алгоритам.[6]

MapReduce библиотеке се пишу у различитим програмским језицима, са различитим нивоима оптимизације. Популарна имплементација отвореног кода је део Апачи Хадупа. Појам MapReduce prvobitno se odnosio samo na Guglovu tehnologiju, ali je kasnije poprimio generalno značenje.

Reference уреди


  1. ^ http://www.cnet.com/news/google-spotlights-data-center-inner-workings/
  2. ^ http://static.googleusercontent.com/media/research.google.com/es/us/archive/mapreduce-osdi04.pdf
  3. ^ "Оур абстрацтион ис инспиред бy тхе мап анд редуце примитивес пресент ин Лисп анд манy отхер фунцтионал лангуагес." -"МапРедуце: Симплифиед Дата Процессинг он Ларге Цлустерс", бy Јеффреy Деан анд Сањаy Гхемаwат; фром Гоогле Ресеарцх
  4. ^ Лäммел, Р. (2008). "Гоогле'с Мап Редуцепрограмминг модел — Ревиситед". Сциенце оф Цомпутер Программинг 70: 1. дои:10.1016/ј.сцицо.2007.07.001
  5. ^ "МонгоДБ: Террибле МапРедуце Перформанце". Стацк Оверфлоw. Оцтобер 16, 2010. Тхе МапРедуце имплементатион ин МонгоДБ хас литтле то до wитх мап редуце аппарентлy. Бецаусе фор алл I реад, ит ис сингле-тхреадед, wхиле мап-редуце ис меант то бе усед хигхлy параллел он а цлустер. ... МонгоДБ МапРедуце ис сингле тхреадед он а сингле сервер...
  6. ^ Уллман, Ј. D. (2012). "Десигнинг гоод МапРедуце алгоритхмс". XРДС: Цроссроадс, тхе АЦМ Магазине фор Студентс (Ассоциатион фор Цомпутинг Мацхинерy)