Tiga Teknologi Pamungkas 'Mbah Google'
Diantara para pengguna Internet di dunia, atau
paling tidak di Indonesia, atau diantara yang membaca artikel ini, adakah yang
tidak tahu Google? Dalam usia yang masih sangat muda, Google telah berhasil begitu
memasyarakat dan sangat akrab di kalangan para peselancar dunia cyber. Di
beberapa tempat Google bahkan telah mendapat julukan yang ditempatkan secara
terhormat. Sebut saja di Indoneisia, saya pernah mendengar istilah Mbah Google,
yang merujuk pada Google sebagai orang yang sudah matang dalam pengetahuan dan
pengalaman. Di Jepang, di kalangan para akademisi, Google biasa disebut Google
Sensei (Guru Google), yang menyiratkan bahwa Google itu adalah guru, seseorang
yang kaya pengetahuan, tempat bertanya apa saja, dan bisa memberikan jawaban
dengan sangat cepat.
Tidak hanya di dunia maya Internet, di
dunia nyata pun Google telah menjadi primadona. Pada tahun 2012 Google telah dinobatkan
sebagai tempatkerja terbaik diantara 100 perusahaan terbaik di Amerika. Jauh mengungguli
Intel yang berada pada urutan 46, Microsoft pada urutan 76, dan Cisco pada
posisi 90.
Pertanyaannya , apa yang telah membuat
Google begitu besar dan berjaya?
Dalam artikel “Big
Data dan Rahasia Kejayaan Google” dibahas bahwa salah satu rahasianya
adalah Google telah mampu memberdayakan Big Data dengan efektif dan efisien
jauh mendahului perusahaan manapun, bahkan jauh sebelum istilah Big Data itu
muncul. Google memiliki teknologi canggih yang memungkinkannya mampu mengolah
dan memanfaatkan Big Data dengan tepat. Teknologi-teknologi tersebut
diantaranya adalah Google File System (GFS), Google MapReduce, dan Google
Bigtable. GFS telah dikupas cukup detail dalam artikel “GFS:Menggotong-royongkan Ribuan Komputer ala Google”, kemudian MapReduce dalam
“MapReduce:Besar dan Powerful Tapi Tidak Ribet” dan Bigtable dalam “GoogleBigtable: Tabel yang Memuat Seluruh Dunia”. Kali ini akan dibahas bagaimana
hubungan kerja diantara ketiga system besar dan canggih ini, dan bagaimana
Google memanfaatkan masing-masing kelebihannya untuk membangun suatu system
yang besar, kuat, cepat dan tentunya dapat diandalkan.
Google File System yang merupakan file
system terdistribusi, berada pada lapisan paling bawah dalam system besar yang
terdiri atas tiga komponen utama ini. Boleh dikatakan GFS berperan sebagai
pondasi yang menjadi landasan tempat berdirinya MapReduce dan Bigtable. GFS
sebagai file system yang menyimpan data secara terdistribusi dalam ribuan
komputer merupakan media penyimpanan data bagi MapReduce dan Bigtable (Gambar
1). MapReduce dan Bigtable tidak akan bisa berbuat apa-apa tanpa GFS,
begitu pula GFS yang dapat dianalogikan sebagai sebuah hardisk drive (HDD)
raksasa yang mampu menyimpan jutaan hingga milyaran Gygabytes data digital tak
akan banyak berarti tanpa kedua rekannya.
Gambar 1. Struktur Google File System
MapReduce adalah model pemrograman atau
pengolahan data yang memproses data secara terdistribusi dan paralel dalam
suatu cluster yang terdiri atas ribuan komputer. MapReduce berdiri diatas GFS
yang berfungsi sebagai dasarnya(Gambar 2). Oleh karena itu, sudah
tentu, GFS sudah harus terinstal pada cluster tempat bekerjanya MapReduce.
Cluster tersebut sudah harus berfungsi sebagai Google File System. Salah satu
keunggulan MapReduce adalah kemampuannya untuk memproses data berukuran raksasa
dengan kecepatan yang berlipat-lipat dibanding system konvensional. Kemudian
MapReduce juga dikenal sangat handal, fleksibel dan simple. Walaupun MapReduce
menerapkan teknologi komputasi terdistribusi dan paralel yang sangat kompleks,
dalam pola kerja dan pengoperasiannya ia dikenal sangat sederhana dibanding
system lain yang menerapkan teknologi serupa.
Gambar 2. Hubungan MapReduce dengan GFS
Dalam hal sifat pemrosesan datanya,
MapReduce secara khusus unggul dalam hal pemrosesan data yang sifatnya Batch Processing. Apa itu Batch
Processing? Sederhananya, Batch Processing merupakan kebalikan dari Interactive
Procesing. Dalam Batch Processing, program akan megambil suatu set data sebagai
input, memprosesnya, dan memberikan satu set data tertentu sebagai output tanpa
intervensi manual dari user. Program berjalan berdasarkan setting yang
ditentukan sebelum program dieksekusi. Begitu program dieksekusi, user tidak
bisa melakukan intervensi. Program akan berjalan sampai selesai dengan suatu
output. Batch Processing biasanya dilakukan untuk memproses data yang tidak
berstruktur. Sedangkan pada Interactive Processing, program akan banyak berkomunikasi dengan user
pada saat memproses suatu data. User dapat memberikan masukan ataupun koreksi
pada saat program sedang berjalan. Di Google, MapReduce memang digunakan untuk
pekerjaan-pekerjaan yang sifatnya Batch Processing, seperti sorting data yang
berukuran terabyte dan indexing data dalam skala besar. Google tidak memaksakan
MapReduce untuk memproses data secara interaktif karena Google tahu tidak akan
efektif.
Untuk memproses data yang harus dilakukan
secara interaktif, Google telah menciptakan Bigtable. Google Bigtable adalah
system penyimpanan data terdistribusi yang ditujukan untuk mengelola data yang
berstruktur dan didesain sebagai system yang handal untuk memproses data dalam
skala petabytes dan dalam ribuan mesin (komputer). Google Bigtable dapat
dianalogikan sebagai Database Management System yang super besar. Tetapi,
Bigtable memiliki perbedaan yang fundamental dengan Relational Database
Management System yang sudah sangat dikenal dalam dunia pengolahan data. Google
menggunakan Bigtable dalam lebih dari 60 produk-produknya yang sudah mendunia,
diantaranya Google Analitycs, Google Finance, dan Google Earth.
Jadi, didalam tubuh Google telah ditentukan
pembagian kerja yang jelas dalam hal pemrosesan data yaitu: MapReduce untuk
memproses data yang tak berstruktur yang sifatnya Batch Processing, dan
Bigtable untuk mengelola data berstruktur yang sifatnya Interactive Processing.
Keduanya memiliki kemampuan untuk memproses data dalam ukuran super besar dan
bekerja diatas Google File System yang juga besar dan handal (Gambar
3).
Gambar 3. Hubungan MapReduce dan Bigtable dengan Google File System
Referensi
Comments
big data projects for cse final year students
Java Training in Chennai
Final Year Projects for CSE
Java Training in Chennai