ScholarGate
Asisten

MapReduce dan Pemrosesan Paralel Data

MapReduce dan penerusnya adalah model dan kerangka kerja pemrograman yang memproses kumpulan data yang sangat besar secara paralel di seluruh klaster mesin komoditas, secara otomatis menangani distribusi, penjadwalan, dan toleransi kesalahan.

Temukan Topik dengan PaperMindSegeraFind papers & topics
Tools & resources
Unduh salindia
Learn & explore
VideoSegera

Definition

MapReduce adalah model pemrograman di mana komputasi diekspresikan sebagai fungsi peta (map) yang mengeluarkan pasangan kunci-nilai dan fungsi reduksi (reduce) yang mengagregasi nilai-nilai untuk setiap kunci, dieksekusi secara paralel atas data yang dipartisi di seluruh klaster dengan distribusi dan toleransi kesalahan yang dikelola oleh kerangka kerja.

Scope

Topik ini mencakup model MapReduce — mengekspresikan komputasi sebagai fungsi peta (map) dan reduksi (reduce) atas pasangan kunci-nilai, dengan pengacakan (shuffle) otomatis di antaranya — dan mesin eksekusi di sekitarnya yang mencakup partisi, penjadwalan, dan toleransi kesalahan melalui eksekusi ulang. Ini mencakup evolusi ke aliran data umum dan mesin dalam memori (seperti model dataset terdistribusi yang tangguh) serta sistem berkas terdistribusi yang mendasarinya. Ini tidak mencakup model penyimpanan NoSQL dan teori konsistensi, yang merupakan topik yang berdekatan.

Core questions

  • Bagaimana fase peta (map), acak (shuffle), dan reduksi (reduce) memparalelkan suatu komputasi?
  • Bagaimana kerangka kerja menangani partisi data, penjadwalan, dan straggler?
  • Bagaimana toleransi kesalahan dicapai melalui eksekusi ulang tugas yang gagal?
  • Mengapa aliran data umum dan mesin dalam memori menggantikan MapReduce untuk banyak beban kerja?
  • Peran apa yang dimainkan sistem berkas terdistribusi dalam pemrosesan paralel data?

Key concepts

  • fungsi peta (map) dan reduksi (reduce)
  • fase acak (shuffle) dan pengurutan (sort)
  • partisi data
  • penjadwalan tugas dan straggler
  • toleransi kesalahan dengan eksekusi ulang
  • sistem berkas terdistribusi
  • grafik aliran data
  • dataset terdistribusi yang tangguh

Key theories

Model MapReduce
Pemrogram menulis fungsi peta (map) yang mengubah catatan masukan menjadi pasangan kunci-nilai perantara dan fungsi reduksi (reduce) yang menggabungkan semua nilai untuk suatu kunci; kerangka kerja menangani eksekusi paralel, pengacakan (shuffle) yang mengelompokkan nilai berdasarkan kunci, dan pemulihan dari kegagalan.
Toleransi kesalahan dengan eksekusi ulang
Karena tugas adalah fungsi deterministik atas masukan yang dipartisi, kerangka kerja mentolerir kegagalan mesin hanya dengan menjalankan ulang tugas peta (map) atau reduksi (reduce) yang gagal, dan mengurangi node yang lambat dengan meluncurkan salinan cadangan (spekulatif) dari tugas yang tertinggal (straggling).
Mesin aliran data dalam memori
Sistem selanjutnya menggeneralisasi MapReduce ke grafik aliran data arbitrer dan menyimpan data perantara dalam memori; abstraksi dataset terdistribusi yang tangguh memulihkan partisi yang hilang dengan menghitung ulang dari silsilah (lineage), sangat mempercepat beban kerja iteratif dan interaktif.

Clinical relevance

Pemrosesan paralel data membuat komputasi skala klaster dapat diakses oleh pemrogram biasa: MapReduce dan penerusnya memproses log, membangun indeks pencarian, melatih model, dan menjalankan analitik atas petabyte data, dan merupakan alat dasar rekayasa data dan ilmu data skala besar.

History

Google memperkenalkan MapReduce (2004) di atas Google File System (2003) untuk mengindeks web pada klaster komoditas, dan Hadoop sumber terbuka mengimplementasikan ulang keduanya, mempopulerkan model tersebut. Pada awal 2010-an, mesin aliran data dalam memori yang dibangun di atas abstraksi dataset terdistribusi yang tangguh (2012) menggantikan MapReduce untuk analitik iteratif dan interaktif sambil mempertahankan ide-ide toleransi kesalahannya.

Key figures

  • Jeffrey Dean
  • Sanjay Ghemawat
  • Matei Zaharia

Related topics

Seminal works

  • dean2008
  • ghemawat2003
  • zaharia2012

Frequently asked questions

Mengapa MapReduce begitu berpengaruh meskipun kesederhanaannya?
Kekuatannya terletak pada apa yang disembunyikannya. Dengan membatasi komputasi pada fungsi peta (map) dan reduksi (reduce), kerangka kerja dapat secara otomatis mempartisi data, menjadwalkan pekerjaan di ribuan mesin, memulihkan dari kegagalan dengan menjalankan ulang tugas, dan menyeimbangkan beban — memungkinkan pemrogram memproses kumpulan data yang sangat besar tanpa menulis kode sistem terdistribusi.
Mengapa mesin yang lebih baru menggantikan MapReduce untuk banyak tugas?
MapReduce klasik menulis hasil perantara ke disk di antara setiap tahap, yang lambat untuk pekerjaan multi-langkah dan iteratif seperti pembelajaran mesin. Mesin aliran data dalam memori menyimpan data dalam memori di seluruh tahap dan mengekspresikan grafik komputasi yang lebih kaya, menawarkan peningkatan kecepatan yang besar sambil mempertahankan toleransi kesalahan berbasis silsilah (lineage), sehingga menjadi pilihan untuk banyak beban kerja analitik.

Methods for this concept

Related concepts