Nama :Dendy P.C.M budiarso
Kelas : 4IA17
NPM : 51410782
Latar
belakang
Akhir-akhir ini, istilah ‘big data’
menjadi topik yang dominan dan sangat sering dibahas dalam industri IT. Banyak
pihak yang mungkin heran kenapa topik ini baru menjadi pusat perhatian padahal
ledakan informasi telah terjadi secara berkelangsungan sejak dimulainya era
informasi. Perkembangan volume dan jenis data yang terus meningkat secara
berlipat-lipat dalam dunia maya Internet semenjak kelahirannya adalah fakta
yang tak dapat dipungkiri. Mulai data yang hanya berupa teks, gambar atau foto,
lalu data berupa video hingga data yang berasal system pengindraan. Lalu kenapa
baru sekarang orang ramai-ramai membahas istilah big data? Apa sebenarnya ‘big
data’ itu?
Hingga saat ini, definisi resmi dari
istilah big data belum ada. Namun demikian, latar belakang dari munculnya
istilah ini adalah fakta yang menunjukkan bahwa pertumbuhan data yang terus
berlipat ganda dari waktu ke waktu telah melampaui batas kemampuan media
penyimpanan maupun sistem database yang ada saat ini. Kemudian, McKinseyGlobal Institute (MGI),
dalam laporannya yang dirilis pada Mei 2011, mendefinisikan bahwa big data
adalah data yang sudah sangat sulit untuk dikoleksi, disimpan, dikelola maupun
dianalisa dengan menggunakan sistem database biasa karena volumenya yang terus
berlipat. Tentu saja definisi ini masih sangat relatif, tidak mendeskripsikan
secara eksplisit sebesar apa big data itu. Tetapi, untuk saat sekarang ini,
data dengan volume puluhan terabyte hingga beberapa petabyte kelihatannya dapat
memenuhi definis MGI tersebut. Di lain pihak, berdasarkan definisi dari Gartner, big data itu memiliki tiga atribute
yaitu : volume , variety , dan velocity. Ketiga atribute ini dipakai juga
oleh IBM dalam mendifinisikan big
data. Volume berkaitan dengan ukuran, dalam hal ini kurang lebih
sama dengan definisi dari MGI. Sedangkan variety berarti tipe atau jenis data,
yang meliputi berbagai jenis data baik data yang telah terstruktur dalam suatu
database maupun data yang tidak terorganisir dalam suatu database seperti halnya
data teks pada web pages, data suara, video, click stream, log file dan lain
sebagainya. Yang terakhir, velocity dapat diartikan sebagai kecepatan
dihasilkannya suatu data dan seberapa cepat data itu harus diproses agar dapat
memenuhi permintaan pengguna.
Pembahasan
Definisi
Big Data
Jika diterjemahkan secara mentah-mentah
maka 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 sebagaiBig 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“. Apakah definisi ini tepat? Boleh dikatakan masih
setengah benar. Definisi tersebut masih belum menggambarkan Big Data secara menyeluruh. Big Datatidak sesederhana itu,
Big
Data memuat arti yang lebih kompleks sehingga
perlu definisi yang sedikit lebih kompleks pula demi mendeskripsikannya secara
keseluruhan.
Mengapa butuh definisi yang lebih
kompleks? 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 6petabyte 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.
Gambar Big Data Infographic sumber intel.co.jp
Karakteristik
Big Data : Volume, Variety, Velocity (3V)
Kembali ke pertanyaan awal, apakah
sebenarnya Big Data itu? Sayang sekali, hingga saat ini masih belum ada
definisi baku yang disepakati secara umum. Ada yang mendeskripsikan Big Data sebagai fenomena yang lahir dari meluasnya
penggunaan internet dan kemajuan teknologi informasi yang diikuti dengan
terjadinya pertumbuhan data yang luar biasa cepat, yang dikenal dengan istilah
ledakan informasi (Information
Explosion) maupun banjir data (Data Deluge). Hal ini mengakibatkan terbentuknya aliran data yang
super besar dan terus-menerus sehingga sangat sulit untuk dikelola, diproses,
maupun dianalisa dengan menggunakan teknologi pengolahan data yang selama ini
digunakan (RDBMS). Definisi ini dipertegas lagi dengan menyebutkan bahwa Big Data memiliki tiga karakteristik yang dikenal dengan
istilah 3V: Volume,
Variety, Velocity. Dalam hal ini, Volumemenggambarkan
ukuran yang superbesar, Variety menggambarkan jenis yang sangat beragam, danVelocity menggambarkan laju pertumbuhan maupun perubahannya.
Namun demikian, definisi ini tentu masih sulit untuk dipahami. Oleh karena itu,
uraian berikut mencoba memberikan gambaran yang lebih jelas dan nyata berkaitan
dengan maksud definisi Big
Data tersebut.
Gambar karakteristik big data
Bukan
Hanya Masalah Ukuran, Tapi Lebih pada Ragam
Kini jelas bahwa Big Data bukan hanya masalah ukuran yang besar, terlebih yang
menjadi ciri khasnya adalah jenis datanya yang sangat beragam dan laju
pertumbuhan maupun frekwensi perubahannya yang tinggi. Dalam hal ragam
data, Big
Data tidak hanya terdiri dari data
berstruktur seperti halnya data angka-angka maupun deretan huruf-huruf yang
berasal dari sistem database mendasar seperti halnya sistem database keuangan,
tetapi juga terdiri atas data multimedia seperti data teks, data suara dan
video yang dikenal dengan istilah data tak berstruktur. Terlebih lagi, Big Data juga mencakup data setengah berstruktur seperti halnya
data e-mail maupun XML. Dalam hal kecepatan pertumbuhan maupun frekwensi
perubahannya, Big
Data mencakup data-data yang berasal dari
berbagai jenis sensor, mesin-mesin, maupun data log komunikasi yang terus
menerus mengalir. Bahkan, juga mencakup data-data yang tak hanya data yang
berada di internal perusahaan, tetapi juga data-data di luar perusahaan seperti
data-data di Internet. Begitu beragamnya jenis data yang dicakup dalam Big Data inilah yang kiranya dapat dijadikan patokan untuk
membedakan Big
Data dengan sistem manajemen data pada
umumnya.
Fokus
pada Trend per-Individu, Kecepatan Lebih Utama daripada
Ketepatan
Hingga saat ini, pendayagunaan Big Data didominasi oleh perusahaan-perusahaan jasa
berbasis Internet seperti halnya Google dan Facebook. Data yang mereka berdayakan
pun bukanlah data-data internal perusahaan seperti halnya data-data penjualan
maupun data pelanggan, lebih menitik beratkan pada pengolahan data-data teks
dan gambar yang berada di Internet. Bila kita melihat gaya pemberdayaan data
yang dilakukan oleh perusahaan-perusahaan pada umumnya, yang dicari adalahtrend yang didapat dari pengolahan data secara keseluruhan.
Misalnya, dari data konsumen akan didapat informasi tentang trend konsumen dengan memproses data konsumen secara
keseluruhan, bukan memproses data per-konsumen untuk mendapatkan trend per-konsumen. Dilain pihak, perusahaan-perusahaan jasa
berbasis Internet yang memanfaatkan Big Data justru
memfokuskan pemberdayaan data untuk mendapatkan informasi trend per-konsumen dengan memanfaatkan atribut-atribut yang
melekat pada pribadi tiap konsumen. Sebut saja toko online Amazon yang
memanfaatkan informasi maupun atribut yang melekat pada diri per-konsumen,
untuk memberikan rekomendasi yang sesuai kepada tiap konsumen. Satu lagi,
pemberdayaan data ala Big
Data ini dapat dikatakan lebih berfokus pada
kecepatan ketimbang ketepatan.
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
Gambar map and reduce Google file
service
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.
Untuk memperdalam pemahaman, mari kita simak satu contoh. Taruhlah kita akan
membuat program MapReduce untuk menghitung jumlah tiap kata dalam beberapa file
teks yang berukuran besar.Dalam program ini, fungsi Map dan fungsi Reduce dapat
didefinisikan sebagai berikut:
map(String
key, String value):
//key
: nama file teks.
//value:
isi file teks tersebut.
for
each word W in value:
emitIntermediate(W,”1″);
reduce(String
key, Iterator values):
//key
: sebuah kata.
//values
: daftar yang berisi hasil hitungan.
int
result = 0;
for
each v in values:
result+=ParseInt(v);
emit(AsString(result));
Hasil akhir dari program ini
adalah jumlah dari tiap kata yang terdapat dalam file teks yang dimasukkan
sebagai input program ini.
Gambar Menghitung jumlah tiap kata pada
dokumen
Dari segi teknologi,
dipublikasikannya GoogleBigtable pada
2006 telah menjadi moment muncul dan meluasnya kesadaran akan pentingnya
kemampuan untuk memproses ‘big data’. Berbagai layanan yang disediakan Google,
yang melibatkan pengolahan data dalam skala besar termasuk search engine-nya, dapat beroperasi secara optimal berkat adanya
Bigtable yang merupakan sistem database berskala besar dan cepat. Semenjak itu,
teknik akses dan penyimpanan data KVS (Key-Value Store) dan teknik komputasi
paralel yang disebutMapReduce mulai
menyedot banyak perhatian. Lalu, terinspirasi oleh konsep dalam GoogleFile System dan
MapReduce yang menjadi pondasi Google Bigtable, seorang karyawan Yahoo! bernama
Doug Cutting kemudian mengembangkan software untuk komputasi paralel
terdistribusi (distributed paralel computing) yang ditulis dengan menggunakan
Java dan diberi nama Hadoop. Saat ini
Hadoop telah menjadi project open source-nyaApache Software. Salah satu pengguna Hadoop adalah Facebook,
SNS (Social Network Service) terbesar dunia dengan jumlah pengguna yang
mencapai 800 juta lebih. Facebook menggunakan Hadoop dalam memproses big data
seperti halnya content sharing, analisa access log, layanan message / pesan dan
layanan lainnya yang melibatkan pemrosesan big data.
Kesimpulan
Berdasar uraian diatas, dapat ditarik
kesimpulan 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. Momen awal
ketenaran istilah ‘big data’ adalah kesuksesan Google dalam memberdayakan ‘big
data’ dengan menggunakan teknologi canggihnya yang disebut Bigtable beserta
teknologi-teknologi pendukungnya
Daftar
Pustaka