Map Reduce Nedir?

Herşeyden öne yeni bir şey olmadığını söyleyelim.
60’lı yıllardan kalma bir tasarım kalıbı.
Bugünlerde çokça popüler diğer bir konu olan
MVC’nin de 70’lerden kalma bir tasarım kalıbı olması
beni biraz şaşırtmakta, Nereye gidiyoruz acaba? :)

Son yıllarda neredeyse tüm şirketlerin verileri oldukça fazla arttı.
Bu büyük veritabanları üzerinde hesaplamalar, sıralamalar ve aramalar yapmak
bazı özel algoritmalar belkide özel plaatformlar istiyor.
Büyük boyutlu datalarla çalıştığımız durumlarda
işlemleri paralelleştirmek bariz bir şekilde istediğimiz bir durum.

Map/Reduce paralel hesaplamalar yapmak için ideal yollardan biri.
Geliştirici için nispeten basit bir fonksiyonel programlama uygulaması.

Sadece 2 fonksiyon var…
Bir “map” fonksiyon betiği, bir “reduce” fonksiyon betiği…

Google uygulamaları, en popüler dağıtık mapreduce uygulaması örneği.
Bu bariz başarı, herkesi buna benzer yapılar implemente etmeye teşvik ediyor… (Hbase, Hypertable … )

Bu tarz çözümler “scalability” söz konusu olduğunda fark yaratıyor.
sadece evde oynuyorsak :)
ya da fazla yüklü olmayan bir sistemden bahsediyorsak, faydasını göremeyebiliriz.

Ama yeni şeyler (biz daha doğmadan önce konuşuluyor olsa bile) öğrenmek her zaman güzeldir.

Şu şemaya bakarak basitçe yorumlayabiliriz…

map reduce

Map anahtar kelimemizle aradığımız verilere ulaşıyor.
Reduce veriyi consolide ediyor,
tekrar edenleri siliyor, sıralıyor ve hesaplıyor (sums, average etc..)
“Scalibility” sebebiyle birden çok reduce uygulamamız gereken durumlarımız olabilir.

Daha fazlası için şu yazıları okumanızı tavsiye ederim;
ayende.com/blog/4436/what-is-map-reduce-for-anyway
ayende.com/blog/4435/map-reduce-a-visual-explanation
nosqltapes.com/video/understanding-mapreduce-with-mike-miller
mongodb.org/display/DOCS/MapReduce
cookbook.mongodb.org/patterns/unique_items_map_reduce/

Be Sociable, Share!

    Category: NoSql - One comment »

    One Response to “Map Reduce Nedir?”

    1. Google’ın Serverları - Writing Something

      […] tasarlayıp kullanıyor, oyüzden hem özel tasarımlı serverları olması hem de işi gereği mapreduce algoritmasını kullanması sayesinde çok daha hızlı… (tabi başka bi dolu parametre var […]

    Back to top