Map Reduce dan No SQL

Map Reduce

Dalam dunia teknologi, mungkin Anda sudah familiar dengan istilah Big Data atau data raksasa. Untuk memproses sebuah data raksasa, data itu harus dipotong-potong kemudian dibagi-bagikan ke tiap komputer dalam suatu cluster. Lalu terdapat proses Map Reduce, dimana roses Map dan proses Reduce pun harus dibagi-bagikan ke tiap komputer dan dijalankan secara paralel. Kemudian hasil akhirnya juga disimpan secara terdistribusi.

Map Reduce adalah framework untuk software dan programming yang dapat digunakan untuk mengakses data yang terdapat pada node dan memanipulasinya sesuai kebutuhan. Map Reduce ini dapat digunakan dengan menggunakan bahasa pemograman Java. Map Reduce adalah sebuah model pemrograman yang secara khusus dalam mengasosiasikan dan mendistribusian data dalam menangani masalah pengaturan data dalam skala besar (Hadoop). Model pemrograman ini didasarkan pada konsep yang sederhana yaitu melakukan suatu iterasi pada suatu inputan, kemudian menghitung pasangan-pasangan key/value dari setiap bagian inputan, mengelompokkan semua lanjutan value dengan key yang sama, melakukan proses perulangan semua hasil dari pengelompokkan dan melakukan pengurangan untuk setiap pengelompokkan tersebut.

Fungsi map memproses suatu pasangan kunci dan nilai {key/value) menjadi kunci dan nilai tengah {intermediate key/value) yang nantinya akan dikirim ke fungsi reduksi. Fungsi Reduce sendiri bertugas untuk memproses pasangan kunci dan nilai yang dikirim dari fungsi map untuk menjadi pasangan kunci dan nilai akhir yang nantinya akan ditulis ke file sebagai hasil. Masing-masing kata kunci dan nilai yang dihasilkan oleh fungsi map diproses secara berbeda dan hasilnya disimpan pada masing-masing file hasil. Untuk suatu kata yang sama maka, fungsi reduce akan menjumlahkan semua angka nilai dari masing-masing kata tersebut, sehingga didapat pasangan kata dan jumlahnya.

Software MapReduce telah didesain sangat sederhana. Untuk menggunakan MapReduce, seorang programmer 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 oleh Google File System.


NoSQL (Not Only SQL / Non Stop SQL)

NoSQL adalah sebuah konsep mengenai penyimpanan data non-relasional. Berbeda dengan model basis data relasional yang selama ini digunakan, NoSQL menggunakan beberapa metode yang berbeda-beda ( Wikipedia ). Metode ini bergantung dari jenis database yang digunakan. Karena NoSQL sendiri merupakan konsep database, dan pada implementasinya, banyak jenis-jenis dari NoSQL ini.

Perbedaan dari NoSQL dengan SQL yang berbasis RDBMS atau relational database adalah NoSQL tidak menggunakan sintaks SQL untuk memyimpan data. Penyimpanan data dalam NoSQL tidak memerlukan skema tabel yang tetap seperti pada relational database.
NoSQL memiliki empat metode, yaitu:

  • Table-oriented. Metode ini biasanya hanya dikembangkan oleh yang membuatnya sendiri seperti Google dan Facebook dengan Big Table dan Cassandranya.
  • Document-oriented database. Jenis NoSQL ini merupakan database yang berbasiskan dokumen. Tidak ada tabel, field dan record, yang ada hanyalah koleksi dan dokumen. Koleksi dapat disamakan dengan tabel, sedangkan dokumen disamakan dengan field.
  • Graph-oriented, yaitu jenis database NoSQL yang menggunakan struktur graph dengan node, edge dan properties untuk menyimpan datanya.
  • Key-value store. Hampir sama seperti document-oriented database, yang berbeda adalah media penyimpanannya. Dalam key-value store, data tidak langsung disimpan dalam disk seperti database pada umumnya. Data disimpan dalam memori komputer dan sesekali data dalam memori ditulis ke disk.

Referensi :

http://romydjuniardi.blogspot.co.id/2013/05/map-reduce-dan-nosql.html

http://widyachairunissa.blogspot.co.id/2014/05/map-reduce-dan-nosql.html

http://blog.randisunarsa.web.id/?p=383

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s