Apa itu Big Data?
Kelas :
4IA17
NPM :
51410409
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.
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.
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
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));
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
0 komentar:
Posting Komentar