Wednesday, June 29, 2011

Cok Ozetle MapReduce nedir derseniz

Resim 1 - Hadoop işleyişini anlatan bir görsel. Gelen datasetini daha kucuk chunklara bolerek isler ve sonucu verir [1]


(Konuyu şuradan da uygulamalı olarak irdeleyebilirsiniz [2] )

Mapreduce temelde büyük datasetleri işlemesi gereken sistemlerde datasetini daha ufak parcalara (chunks) bolup birden fazla birimin islemesini saglayan sistemlerdir. Ozellikle Facebook, twitter ve google oldukca ileri seviyede kullanıyorlar. Google bu konuda surada makele yayınlamış olabilir [3]. Evet yayınlamış hatta hem slide [4] olarak hem de makale olarak [5].
Mapreduce  calisma stratejisini ozetleyen bir gorsel yazının başındaki gorseldir.

Map ve Reduce katmanı vardır. Map katmanı gelen işi ilgili birimlere dağıtır ve çıktıyı verir. Reduce atmanı ise gelen çıktıları tek bir işlem sonucu olarak verir. Bu arada hem map hem de reduce katmanı birden fazla birimden olusuyor.
Teknik olarak detaya giremeyeceğim çünkü henüz hiç kullanmadım ancak akla şu soru takılabilir 'Eğer map veya reduce katmanlarından bir birim arızalanırsa ne olur?' .  Bu durumda islem devam eder ancak arizali birimin isi diger birimlere verilir. Scalability dendiğinde en önemli kısmı MapReduce almaktatır.


1. http://www.cs.berkeley.edu/~ballard/cs267.sp11/hw0/results/htmls/Muzaffar.html
2. http://michaelnielsen.org/blog/write-your-first-mapreduce-program-in-20-minutes/
3. http://research.google.com/pubs/papers.html
4. http://labs.google.com/papers/mapreduce-osdi04-slides/index-auto-0025.html
5. http://labs.google.com/papers/mapreduce-osdi04.pdf


İlgili olabilecek veya beraberinde incelenebilecek diğer anahtar kelimeler
Distributed computing <link>
Machine Learning