MapReduce adalah model pemrogramana rilisan Google yang
ditujukan untuk memproses data berukuran raksasa secara terdistribusi dan
parallel dalam cluster yang terdiri atas ribuan komputer. Dalam memproses data,
MapReduce dibagi menjadi 2 proses utama, yaitu Map dan Reduce. Proses Map
bertugas untuk mengumpulkan informasi dari potongan-potongan data yang
terditribusi dalam tiap komputer dalam cluster (kelompok komputer yang saling
terhubung). Hasilnya deserahkan kepada proses Reduce untuk diproses lebih
lanjut. Hasil proses Reduce merupakan hasil akhir yang dikirim ke pengguna.
Desain dan Struktur MapReduce
Dari
definisinya, MapReduce mungkin terkesan sangat ribet. Untuk memproses sebuah
data raksasa, data itu harus dipotong-potong kemudian dibagi-bagikan ke tiap
komputer dalam suatu cluster. Lalu proses Map dan proses Reduce pun harus
dibagi-bagikan ke tiap komputer dan dijalankan secara paralel. Terus hasil
akhirnya juga disimpan secara terdistribusi. Benar-benar terkesan merepotkan.
Beruntunglah,
MapReduce telah didesain sangat sederhana alias simple. Untuk menggunakan
MapReduce, seorang programer cukup membuat dua program yaitu program yang
memuat kalkulasi atau prosedur yang akan dilakukan oleh proses Map dan Reduce.
Jadi tidak perlu pusing memikirkan bagaimana memotong-motong data untuk
dibagi-bagikan kepada tiap komputer, dan memprosesnya secara paralel kemudian
mengumpulkannya kembali. Semua proses ini akan dikerjakan secara otomatis oleh
MapReduce yang dijalankan diatas Google File System.
Program
yang memuat kalkulasi yang akan dilakukan dalam proses Map disebut Fungsi Map,
dan yang memuat kalkulasi yang akan dikerjakan oleh proses Reduce disebut
Fungsi Reduce. Jadi, seorang programmer yang akan menjalankan MapReduce harus
membuat program Fungsi Map dan Fungsi Reduce.
Fungsi
Map bertugas untuk membaca input dalam bentuk pasangan Key/Value, lalu
menghasilkan output berupa pasangan Key/Value juga. Pasangan Key/Value hasil
fungsi Map ini disebut pasangan Key/Value intermediate. Kemudian, fungsi Reduce
akan membaca pasangan Key/Value intermediate hasil fungsi Map, dan
menggabungkan atau mengelompokkannya berdasarkan Key tersebut. Lain katanya,
tiap Value yang memiliki Key yang sama akan digabungkan dalam satu kelompok.
Fungsi Reduce juga menghasilkan output berupa pasangan Key/Value.
NoSQL adalah tipe database yang sangat jauh berbeda dengan
konsep RDBMS ataupun ODBMS. Perbedaan utamanya sendiri yaitu karena tidak
mengenal istilah relation dan tidak menggunakan konsep schema. Dalam NoSQL,
setiap tabel berdiri sendiri tanpa tergantung dengan tabel lainnya. NoSQL
Database adalah sebuah database yang bertipe NoSQL, yaitu database ini tidak
mengenal istilah relational dan tidak menggunakan konsep schema. Contoh dari
NoSQL Database salah satunya adalah MongoDB.
Berlawanan
dengan kesalahpahaman yang disebabkan oleh namanya, NoSQL tidak melarang bahasa
query terstruktur (SQL) Meskipun benar bahwa beberapa sistem NoSQL sepenuhnya
non-relasional, yang lain hanya menghindari fungsi relasional dipilih seperti
skema tabel tetap dan bergabung dengan operasi. Sebagai contoh, daripada
menggunakan tabel, database NoSQL mungkin mengatur data menjadi objek, kunci /
nilai berpasangan atau tupel.
Map Reduce dan NoSQL (Not Only SQL) adalah sebuah pemogramaan framework guna untuk
membantu user mengembangankan sebuah data yang ukuran besar dapat terdistribusi
satu sama lain. Map-Reduce adalah salah satu konsep teknis yang sangat penting
di dalam teknologi cloud terutama karena dapat diterapkannya dalam lingkungan
distributed computing. Dengan demikian akan menjamin skalabilitas aplikasi
kita.
Salah
satu contoh penerapan nyata map-reduce ini dalam suatu produk adalah yang
dilakukan Google. Dengan inspirasi dari functional programming map dan reduce
Google bisa menghasilkan filesystem distributed yang sangat scalable, Google
Big Table. Dan juga terinspirasi dari Google, pada ranah open source terlihat
percepatan pengembangan framework lainnya yang juga bersifat terdistribusi dan
menggunakan konsep yang sama, project open source tersebut bernama Apache
Hadoop.
Sumber
Febiani Putri. 2014. Map Reduce dan NoSQL http://putrifebiani.blogspot.co.id/2014/05/map-reduce-dan-nosql.html
Chairunissa Widya. 2014. Map Reduce dan NoSQL. http://widyachairunissa.blogspot.co.id/2014/05/map-reduce-dan-nosql.html
Nurani Putri. 2016. Map Reduce dan NoSQL. https://putrinurani94.wordpress.com/2016/03/25/mapreduce-dan-nosql/