Büyük Veri İşleme Çerçeveleri
Büyük veri çerçeveleri, programcıların tek bir makinenin işleyebileceğinden çok daha büyük veri kümelerini, çalışma zamanının dağıttığı ve hataya dayanıklı hale getirdiği paralel veri akışları olarak hesaplamayı ifade ederek işlemelerine olanak tanımaktadır.
Tanım
Büyük veri işleme çerçevesi, bir programcının çok büyük bir veri kümesi üzerindeki bir hesaplamayı üst düzey veri akışı operatörleri olarak ifade etmesine olanak tanıyan ve veriyi otomatik olarak bölümlere ayıran, bir küme genelinde paralel yürütmeyi planlayan ve düğüm arızalarına tolerans gösteren bir sistemdir.
Kapsam
Bu konu, küme ölçekli veri işleme için veri akışı programlama modelini kapsamaktadır: MapReduce paradigması ve sınırlamaları, dayanıklı dağıtılmış veri kümeleri üzerine kurulu bellek içi veri akışı motorları ve pencereleme, olay zamanı semantiği ve tam olarak bir kez garantileri ile birleşik toplu ve akış işleme. Büyük, muhtemelen sınırsız verinin nasıl bölümlendiği, paralel olarak işlendiği ve arızalardan sonra nasıl kurtarıldığı ele alınmaktadır.
Temel sorular
- Tek bir makine için çok büyük olan veriler üzerindeki bir hesaplama nasıl ifade edilebilir ve paralel olarak yürütülebilir?
- Bellek içi ve akış motorları, toplu MapReduce'a göre nasıl iyileştirmeler sunmaktadır?
- Sınırsız, sırasız akışlar için doğruluk, gecikme süresi ve hata toleransı nasıl dengelenmektedir?
Temel kuramlar
- MapReduce
- MapReduce, veri işlemeyi kayıtları anahtar-değer çiftlerine dönüştüren bir haritalama adımı ve anahtara göre toplayan bir azaltma adımı olarak ifade etmektedir; çalışma zamanı ise paralelleştirmeyi, veri karıştırmayı ve başarısız görevlerin yeniden yürütülmesini yönetmektedir.
- Dayanıklı dağıtılmış veri kümeleri
- RDD'ler, deterministik dönüşümlerin soy ağacı sayesinde kayıp bölümlerin yeniden hesaplanmasına olanak tanıyan, hataya dayanıklı bir bellek içi soyutlama sağlamaktadır; bu da yinelemeli ve etkileşimli küme hesaplamasını disk tabanlı MapReduce'dan çok daha hızlı hale getirmektedir.
- Birleşik toplu ve akış veri akışı
- Modern motorlar, toplu işlemeyi akışın özel bir durumu olarak ele almaktadır; sınırsız, sırasız veriler üzerinde tam olarak bir kez sonuçlar sunmak için olay zamanı pencereleme ve filigranlar ile tutarlı anlık görüntüler kullanmaktadır.
Klinik önem
Bu çerçeveler, arama, analitik, öneri ve makine öğrenimi işlem hatlarının arkasındaki verileri işlemektedir; akış motorları ise gerçek zamanlı izleme ve olay odaklı uygulamalara güç vermekte, böylece veri yoğun hesaplama için temel altyapı haline gelmektedir.
Tarihçe
Google'ın 2004 tarihli MapReduce makalesi (2008'de revize edildi) küme ölçekli veri işlemeyi kurmuştur; Spark'ın dayanıklı dağıtılmış veri kümeleri (2012) hızlı bellek içi ve yinelemeli işlemeyi getirmiştir; Flink ve veri akışı modeli (2015) gibi sistemler ise güçlü doğruluk garantileriyle toplu ve akış işlemeyi birleştirmiştir.
Tartışmalar
- Birincil işleme modeli olarak toplu işleme ve akış işleme karşılaştırması
- Toplu işleme daha basittir ve tam olarak bir kez yapılabilirliği kolaydır ancak gecikme süresi eklerken, akış işleme sırasız veriler altında daha zor doğruluk pahasına düşük gecikme süresi sunmaktadır; birleşik motorlar, akışın toplu işlemeyi kapsayabileceğini savunmaktadır, ancak toplu işleme büyük tarihsel işler için yaygın olmaya devam etmektedir.
Öne çıkan isimler
- Jeffrey Dean
- Sanjay Ghemawat
- Matei Zaharia
- Tyler Akidau
İlgili konular
Temel eserler
- dean2008
- zaharia2012
- akidau2015
Sıkça sorulan sorular
- Spark ve benzeri sistemler neden birçok iş yükü için basit MapReduce'un yerini almıştır?
- MapReduce, her adım arasında ara sonuçları diske yazmaktadır, bu da yinelemeli algoritmalar için yavaştır. Dayanıklı dağıtılmış veri kümeleri gibi bellek içi soyutlamalar, verileri adımlar arasında bellekte tutar ve yalnızca arıza durumunda kayıp bölümleri yeniden hesaplar, bu da yinelemeli ve etkileşimli analizler için büyük hız artışları sağlamaktadır.