Nama : Denny Ardiansyah
Kelas : 4IA17
NPM : 51410800
Big data, Map Reduce dan NoSQL
Pendahuluan
Latar Belakang
Beberapa
tahun belakangan ini, jika ditanyakan tentang apa yang sedang menjadi trend
dalam dunia Teknologi Informasi (TI), mungkin banyak yang akan menjawab "Cloud
Computing". Tetapi, sejak awal tahun 2011 muncul istilah "Big
Data" yang kemudian menarik perhatian banyak profesional maupun
pemerhati Teknologi Informasi. Sejauh ini, perusahaan-perusahaan terkemuka
telah memberdayakan infomasi dan data dengan beragam teknologi manajemen data
guna menunjang kemajuan bisnisnya. Sebagian besar telah menggunakan tools
seperti Data Warehouse (DWH) maupun Business Intelligence (BI)
serta aplikasi manajemen harga dan penjualan lainnya sebagai alat pengolah data
yang mereka perlukan dalam aktifitas bisnis.
Tujuan
Tujuan Big Data adalah suatu
sistem yang berfungsi untuk memproses atau mengolah data yang berukuran sangat
besar, misalnya dalam skala petabyte.
Isi
Big Data
Big
Data berarti suatu data dengan kapasitas yang besar. Sebagai contoh, saat ini
kapasitas DWH yang digunakan oleh perusahaan-perusahaan di Jepang berkisar
dalam skala terabyte. Namun, jika misalnya dalam suatu sistem terdapat 1000
terabyte (1 petabyte) data, apakah sistem tersebut bisa disebut Big Data? Satu
lagi, Big Data sering dikaitkan dengan SNS (Social Network Service), contohnya
Facebook. Memang benar Facebook memiliki lebih dari 800 juta orang anggota, dan
dikatakan bahwa dalam satu hari Facebook memproses sekitar 10 terabyte data.
Pada
umumnya, SNS seperti Facebook tidak menggunakan RDBMS(Relational DataBase
Management System) sebagai software pengolah data, melainkan lebih banyak
menggunakan NoSQL. Lalu, apa kita bisa menyebut sistem NoSQL sebagai Big Data?
Dengan mengkombinasikan kedua uraian diatas, dapat ditarik sebuah definisi
bahwa Big Data adalah "suatu sistem yang menggunakan NoSQL dalam memproses
atau mengolah data yang berukuran sangat besar, misalnya dalam skala
petabyte". Big Data memuat arti yang lebih kompleks sehingga perlu
definisi yang sedikit lebih kompleks pula demi mendeskripsikannya secara
keseluruhan.
Fakta
menunjukkan bahwa bukan hanya NoSQL saja yang mampu mengolah data dalam skala
raksasa (petabyte). Beberapa perusahaan telah menggunakan RDBMS untuk
memberdayakan data dalam kapasitas yang sangat besar. Sebagai contoh, Bank of
America memiliki DWH dengan kapasitas lebih dari 1,5 petabyte, Wallmart Stores
yang bergerak dalam bisnis retail (supermarket) berskala dunia telah mengelola
data berkapasitas lebih dari 2,5 petabyte, dan bahkan situs auction (lelang)
eBay memiliki DWH yang menyimpan lebih dari 6 petabyte data. Oleh karena itu,
hanya karena telah berskala petabyte saja, suatu data belum bisa disebut Big
Data. Sekedar referensi, DWH dengan kapasitas sangat besar seperti beberapa
contoh diatas disebut EDW(Enterprise Data Warehouse) dan database yang
digunakannya disebut VLDB(Very Large Database).
Memang
benar, NoSQL dikenal memiliki potensi dan kapabilitas Scale Up (peningkatan
kemampuan mengolah data dengan menambah jumlah server atau storage) yang lebih
unggul daripada RDBMS. Tetapi, bukan berarti RDBMS tak diperlukan. NoSQL memang
lebih tepat untuk mengolah data yang sifatnya tak berstruktur seperti data teks
dan gambar, namun NoSQL kurang tepat bila digunakan untuk mengolah data yang
sifatnya berstruktur seperti data-data numerik, juga kurang sesuai untuk
memproses data secara lebih detail demi menghasilkan akurasi yang tinggi. Pada
kenyataannya, Facebook juga tak hanya menggunakan NoSQL untuk memproses
data-datanya, Facebook juga tetap menggunakan RDBMS. Lain kata, penggunaan
RDBMS dan NoSQL mesti disesuaikan dengan jenis data yang hendak diproses dan
proses macam apa yang dibutuhkan guna mendapat hasil yang optimal.
MapReduce
MapReduce
adalah model pemrograman rilisan Google yang ditujukan untuk memproses data
berukuran raksasa secara terdistribusi dan paralel dalam cluster yang terdiri
atas ribuan komputer. Dalam memproses data, secara garis besar MapReduce dapat
dibagi dalam dua proses yaitu proses Map dan proses Reduce. Kedua jenis proses
ini didistribusikan atau dibagi-bagikan ke setiap komputer dalam suatu cluster
(kelompok komputer yang salih terhubung) dan berjalan secara paralel tanpa
saling bergantung satu dengan yang lainnya.
Proses
Map bertugas untuk mengumpulkan informasi dari potongan-potongan data yang
terdistribusi dalam tiap komputer dalam cluster. Hasilnya diserahkan kepada
proses Reduce untuk diproses lebih lanjut. Hasil proses Reduce merupakan hasil
akhir yang dikirim ke pengguna. 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.
NoSQL
NoSQL
adalah istilah yang dikenal dalam teknologi komputasi untuk merujuk kepada
kelas yang luas dari sistem manajemen basis data yang di identifikasikan dengan
tidak mematuhi aturan pada model sistem manajemen basis data relasional yang
banyak digunakan. NoSQL tidak seperti sistem basis data pada umumnya yang
menggunakan syntax SQL dalam pengoperasian
nya dalam mengakses sebuah database. Pada konsep NoSQL, untuk mengakses
data pada database dapat menggunakan object-oriented programming yang banyak
digunakan oleh developer pada saat ini.
Namun
begitu, metode ini masih kalah populer dengan metode SQL biasa. Hanya untuk
kebutuhan yang khusus ada perusahaan yang menggunakannya. Walaupun begitu NoSQL
dapat menjadi alternatif lain untuk pengaksesan sebuah database. Salah satu
produk yang menyediakan NoSQL yang saya ketahui adalah MongoDB. Saya rasa
produk ini populer di kalangan depelover yang menggunakan NoSQL.
Kesimpulan
Dari
uraian diatas, dapat disimpulkan bahwa yang dimaksud dengan big data bukanlah
semata-mata hanya soal ukuran, bukan hanya tentang data yang berukuran raksasa.
Big data adalah data berukuran raksasa yang volumenya terus bertambah, terdiri
dari berbagai jenis atau varietas data, terbentuk secara terus menerus dengan
kecepatan tertentu dan harus diproses dengan kecepatan tertentu pula. Lalu Map
Reduce danNoSQL (Not Only SQL) adalah sebuah pemogramaan framework guna untuk
membantu user mengembangankan sebuah data yang ukuran besar dapat terdistribusi
satu sama lain.
Daftar Pustaka
- http://romydjuniardi.blogspot.com/2013/05/map-reduce-dan-nosql.html
- http://vijjam.blogspot.com/2013/12/memahami-definisi-big-data.html
- http://www.komputasiawan.com/python/map-reduce
- http://vijjam.blogspot.jp/2013/02/mapreduce-besar-dan-powerful-tapi-tidak.html