Sunday, May 11, 2014

Big Data, Map Reduce, dan NoSQL

Nama : Ichsan Fauzi
Kelas : 4IA17
NPM : 53410368
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
  • http://dhenyx.blogspot.com

No comments:

Post a Comment