MapReduce: Büyük Verinin 1000 Makineye "Dağıtıldığı" Paradigma
Google 2004'te modern bulutu doğuran fikri yayınladı. Her büyük veri sisteminin altyapısında bu basit ama güçlü idea var.

"Bir makine yetmez"
2003: Google milyarlarca web sayfasını indekslemek zorunda. Tek makine yapamaz. Binlerce ucuz makineyi koordine etmek lazım.
Sorun: paralel programlama zor:
- Hata kontrolü.
- Senkronizasyon.
- Veri yönetimi.
Çözüm: Jeff Dean ve Sanjay Ghemawat 2004 makalesi — MapReduce.
Tek cümle: basit iki adım, binlerce makineye dağılır.
Mantık
Her hesaplamayı iki aşamaya indirgemek mümkün:
Map adımı
Her veri parçası için (anahtar, değer) üret.
input: "merhaba dünya merhaba"
map_output: [
("merhaba", 1),
("dünya", 1),
("merhaba", 1)
]
Reduce adımı
Aynı anahtarlı değerleri birleştir.
reduce_input: ("merhaba", [1, 1]), ("dünya", [1])
reduce_output: ("merhaba", 2), ("dünya", 1)
Bu kelime sayım klasik örneği.
Neden bu kadar güçlü?
Map ve Reduce paralelleştirilebilir:
- Her map veri parçası bağımsız → her makinede.
- Her reduce anahtar bağımsız → ayrı makinede.
Sistem otomatik dağıtır:
- Veri lokal makinede ise oraya hesaplama gönder ("data locality").
- Bir makine arıza yaparsa başka makine aynı işi yapar.
- Programcı bunu hiç düşünmez.
Örnekler
Web indeksleme
- Map: her sayfa için (kelime, URL).
- Reduce: kelime → URL listesi.
Log analizi
- Map: log satırı → (kullanıcı_id, 1).
- Reduce: kullanıcı_id → toplam istek.
Grafik (PageRank)
- Map: link → (hedef, kaynak skor).
- Reduce: hedef → toplam skor.
Ölü sayım örneği
- Map: tweet → (kelime, 1).
- Reduce: kelime → toplam frekans.
Hadoop
Apache Hadoop (2006): Google'ın MapReduce makalesinin açık kaynak versiyonu.
- HDFS: dağıtık dosya sistemi.
- MapReduce engine: hesaplama.
- YARN: kaynak yöneticisi.
2010'lar boyunca big data'nın standart altyapısı oldu.
Sınırlamalar
- Iteratif algoritmalar çok yavaş: her iterasyon disk yazma.
- Genel API: sadece Map + Reduce.
- Programlama zor: Java boilerplate.
Bu yüzden Spark (Matei Zaharia) MapReduce'u bellekte tutarak 10-100x hızlandırdı.
Hala kullanılıyor mu?
Doğrudan MapReduce kodu azaldı. Ama fikir her yerde:
- Spark: bellekte MapReduce.
- Flink: streaming MapReduce.
- Dask: Python paralel.
- Apache Beam: çoklu yürütme motoru.
- Modern SQL warehouses (Snowflake, BigQuery): arka planda MapReduce benzeri.
Modern AI bağlantısı
LLM eğitimi paralel batch processing:
- Her veri parçası → gradient (map).
- Tüm gradient'leri toplama (all-reduce).
Bu MapReduce'un derin öğrenme versiyonu.
NVIDIA NCCL, Horovod, FSDP — hepsi modern parallel training.
Google sonrası
Google kendi içinde MapReduce'tan Cloud Dataflow + Beam'e geçti. Daha esnek, daha hızlı.
Ama temel fikir aynı: böl + işle + birleştir.
Felsefe
MapReduce iki temel ilke:
- Functional programming: yan etki yok, deterministik.
- Divide and conquer: büyük problemi küçüklere böl.
İkisi de klasik bilgisayar biliminin mirası — sadece paralelleştirildi.
Türkiye uygulamaları
- TÜBİTAK BİLGEM: Hadoop kümeleri 2010'larda.
- Garanti BBVA: log analizi MapReduce.
- Turkcell: müşteri davranışı.
- TCMB: ekonomik veri.
Çoğu Türk veri merkezi Spark + Delta'ya geçti, ama MapReduce mirası kaldı.
Türk programcı için ders
MapReduce basit bir fikrin dünyayı değiştirebileceğini gösterir:
- 2004: Google makalesi.
- 2006: Apache Hadoop.
- 2010'lar: tüm büyük şirketler kullanıyor.
- 2014'te 50 milyar dolarlık veri pazarı doğdu.
Basit + paralel = ölçeklenir.
Kapanış
MapReduce, modern bulut çağının başlangıç noktası. Doğrudan kullanım azaldı ama fikir her yerde. Spark, Dataflow, modern ML eğitim — hepsi MapReduce'un torunu.
Jeff Dean ve Sanjay Ghemawat'ın 6 sayfalık makalesi, trilyon dolarlık endüstrinin ilk taşı oldu.
Etiketler
Kendinizi Test Edin
Cevaplarınız profilinizde istatistik olarak saklanır.
1. MapReduce kim icat etti?
2. İki temel adım?
3. Apache Hadoop ne sağladı?
4. Modern MapReduce ne?
5. AI bağlantısı?
İlgili Yazılar
Sicherman Zarları: Farklı Sayılar Taşıyan Ama Tıpkı Normal Zarlar Gibi Davranan Tuhaf Çift
İki normal zar attığınızda 7 gelme ihtimali en yüksektir. Peki yüzlerine bambaşka sayılar yazılmış bir zar çifti, tam olarak aynı olasılıkları verebilir mi? Cevap evet — ve tek bir alternatif var.
MatematikHash Tabloları: Milyonlarca Veride Bir Şeyi Anında Bulmanın Matematiği
Bir sözlükte kelime ararken sayfaları tek tek çevirmezsiniz; doğrudan ilgili harfe gidersiniz. Bilgisayarlar da benzer bir hile kullanır: hash tabloları sayesinde milyonlarca kayıt arasında aradığınızı neredeyse tek adımda bulurlar.
MatematikKoşu Pistinde Neden Herkes Aynı Çizgiden Başlamaz?
Bir atletizm yarışında dıştaki koşucular hep daha önden başlar. Bu bir avantaj değil, kusursuz bir adalettir: dıştaki kulvarın çevresi daha uzundur ve fark, tam olarak pi sayısıyla hesaplanır.