A. Pengertian Grid Computing
Komputasi Grid adalah penggunaan sumber daya yang melibatkan banyak
komputer yang terdistribusi dan terpisah secara geografis untuk memecahkan
persoalan komputasi dalam skala besar.
Grid computing merupakan cabang dari distributed computing.Grid komputer
memiliki perbedaan yang lebih menonjol dan di terapakan pada sisi
infrastruktur dari penyelesaian suatu proses. Grid computing adalah suatu
bentuk cluster (gabungan) komputer-komputer yang cenderung tak terikat
batasan geografi. Di sisi lain, cluster selalu diimplementasikan dalam satu
tempat dengan menggabungkan banyak komputer lewat jaringan.
Ide awal komputasi grid dimulai dengan adanya distributed computing, yaitu
mempelajari penggunaan komputer terkoordinasi yang secara fisik terpisah
atau terdistribusi. Sistem terdistribusi membutuhkan aplikasi yang berbeda
dengan sistem terpusat. Kemudian berkembang lagi menjadi parallel computing
yang merupakan teknik komputasi secara bersamaan dengan memanfaatkan
beberapa komputer secara bersamaan.
Grid computing menawarkan solusi komputasi yang murah, yaitu dengan
memanfaatkan sumber daya yang tersebar dan heterogen serta pengaksesan yang
mudah dari mana saja. Globus Toolkit adalah sekumpulan perangkat lunak dan
pustaka pembuatan lingkungan komputasi grid yang bersifat open-source.
Dengan adanya lingkungan komputasi grid ini diharapkan mempermudah dan
mengoptimalkan eksekusi program-program yang menggunakan pustaka paralel.
Dan Indonesia sudah menggunakan sistem Grid dan diberi nama InGrid
(Inherent Grid). Sistem komputasi grid mulai beroperasi pada bulam Maret
2007 dan terus dikembangkan sampai saat ini. InGrid ini menghubungkan
beberapa perguruan tinggi negeri dan swasta yang tersebar di seluruh
Indonesia dan beberapa instansi pemerintahan seperti Badan Meteorologi dan
Geofisika.
B. Konsep Grid Computing
Beberapa konsep dasar dari grid computing :
1. Sumber daya dikelola dan dikendalikan secara lokal.
2. Sumber daya berbeda dapat mempunyai kebijakan dan mekanisme berbeda,
mencakup Sumber daya komputasi dikelola oleh sistem batch berbeda, Sistem
storage berbeda pada node berbeda, Kebijakan berbeda dipercayakan kepada
user yang sama pada sumber daya berbeda pada Grid.
3. Sifat alami dinamis: Sumber daya dan pengguna dapat sering berubah
4. Lingkungan kolaboratif bagi e-community (komunitas elektronik, di
internet)
5. Tiga hal yang di-,sharing dalam sebuah sistem grid, antara lain :
Resource, Network dan Proses. Kegunaan / layanan dari sistem grid sendiri
adalah untuk melakukan high throughput computing dibidang penelitian,
ataupun proses komputasi lain yang memerlukan banyak resource komputer.
C. Cara Kerja Grid Computing
Menurut tulisan singkat oleh Ian Foster ada check-list yang dapat digunakan
untuk mengidentifikasi bahwa suatu sistem melakukan komputasi grid yaitu :
1. Sistem tersebut melakukan koordinasi terhadap sumberdaya komputasi yang
tidak berada dibawah suatu kendali terpusat. Seandainya sumber daya yang
digunakan berada dalam satu cakupan domain administratif, maka komputasi
tersebut belum dapat dikatakan komputasi grid.
2. Sistem tersebut menggunakan standard dan protokol yang bersifat terbuka
(tidak terpaut pada suatu implementasi atau produk tertentu). Komputasi
grid disusun dari kesepakatan-kesepakatan terhadap masalah yang
fundamental, dibutuhkan untuk mewujudkan komputasi bersama dalam skala
besar. Kesepakatan dan standar yang dibutuhkan adalah dalam bidang
autentikasi, otorisasi, pencarian sumberdaya, dan akses terhadap sumber
daya.
3. Sistem tersebut berusaha untuk mencapai kualitas layanan yang canggih,
(nontrivial quality of service) yang jauh diatas kualitas layanan komponen
individu dari komputasi grid tersebut.
D. Kelebihan dan Kekurangan Grid Computing
Penggunaan Grid Computing System untuk perusahaan-perusahaan akan banyak
memberikan manfaat, baik manfaat secara langsung maupun tidak langsung.
Beberapa manfaat tersebut antara lain :
1. Grid computing menjanjikan peningkatan utilitas, dan fleksibilitas yang
lebih besar untuk sumberdaya infrastruktur, aplikasi dan informasi. Dan
juga menjanjikan peningkatan produktivitas kerja perusahaan.
2. Grid computing bisa memberi penghematan uang, baik dari sisi investasi
modal maupun operating cost–nya.
Dan beberapa hambatan yang dialami oleh masyarakat Indonesia dalam
mengaplikasikan teknologi grid computing adalah sebagai berikut :
1. Manajemen institusi yang terlalu birokratis menyebabkan mereka enggan
untuk merelakan fasilitas yang dimiliki untuk digunakan secara bersama agar
mendapatkan manfaat yan lebih besar bagi masyarakat luas.
2. Masih sedikitnya Sumber Daya Manusia yang kompeten dalam mengelola grid
computing. Contonhya kurangnya pengetahuan yang mencukupi bagi teknisi IT
maupun user non teknisi mengenai manfaat dari grid computing itu sendiri.
E. Contoh Grid Computing
A) Scientific Simulation
Komputasi grid diimplementasikan di bidang fisika, kimia, dan biologi untuk
melakukan simulasi terhadap proses yang kompleks.
B) Medical Images
Penggunaan data grid dan komputasi grid untuk menyimpan medical-image.
Contohnya adalah eDiaMoND project.
C) Computer-Aided Drug Discovery (CADD)
Komputasi grid digunakan untuk membantu penemuan obat. Salah satu contohnya
adalah: Molecular Modeling Laboratory (MML) di University of North Carolina
(UNC).
D) Big Science
Data grid dan komputasi grid digunakan untuk membantu proyek laboratorium
yang disponsori oleh pemerintah Contohnya terdapat di DEISA.
E) E-Learning
Komputasi grid membantu membangun infrastruktur untuk memenuhi kebutuhan
dalam pertukaran informasi dibidang pendidikan. Contohnya adalah
AccessGrid.
KONSEP DASAR VIRTUALISASI
Virtualisasi adalah sebuah teknik yang saat ini banyak diterapkan untuk
memenuhi kebutuhan TI yang semakin tinggi namun diikuti dengan tuntutan
untuk mengefisiensikan biaya yang digunakan semaksimal mungkin.
Virtualisasi adalah teknologi yang telah diterapkan secara luas saat ini
dengan dampak peningkatan operasional dan finansial yang positif.
Virtualisasi adalah konsep dimana akses ke sebuah hardware seperti server
diatur sehingga beberapa operating system (guest operation system) dapat
berbagi sebuah hardware. Tujuan dari virtualisasi adalah kinerja tingkat
tinggi, ketersediaan, keandalan, ketangkasan, atau untuk membuat dasar
keamanan dan manajemen yang terpadu.
Virtualisasi memungkinkan kita untuk berbagi hardware untuk digunakan
beberapa sistem operasi. Virtualisasi dapat membuat sebuah tempat
penyimpanan tunggal yang besar terlihat menjadi beberapa tempat penyimpanan
dengan ukuran yang lebih kecil.
Setiap perusahaan memiliki tujuan yang berbeda mengapa menerapkan
virtualisasi, salah satu tujuan yang ingin dicapai perusahaan dapat
merupakan salah satu dari hal berikut :
· Memungkinkan semua device yang terhubung dengan jaringan untuk mengakses
aplikasi melalui jaringan, bahkan jika aplikasi tidak pernah dirancangan
untuk dapat bekerja di device tersebut.
· Isolasi beban perkerjaan atau aplikasi yang satu dengan yang lainnya
untuk meningkatkan keamanan dan kemudahan pengelolaan lingkungan.
· Isolasi aplikasi dari sistem operasi, memungkinkan aplikas untuk tetap
berfungsi meskipun dirancang untuk sistem operasi dengan tipe yang berbeda
· Isolasi aplikasi dari sistem operasi, memungkinkan sebuah aplikasi untuk
bekerja di sistem operasi yang asing
· Meningkatkan jumlah orang yang dapat didukung oleh aplikasi, dengan
mengijinkan untuk menjalan aplikasi dari mesin-mesin yang berbeda secara
bersamaan
· Mengurangi waktu yang diperkukan untuk menjalankan apliksi, dengan
memisahkan data atau aplikasi itu sendiri dan menyebar pekerjaan di
beberapa sistem
· Mengoptimalkan penggunaan sistem tunggal
· Meningkatkan keandalan atau ketersediaan dari aplikasi atau beban kerja
dengan pengulangan
Beberapa peralatan komputer dapat divirtualisasikan. Contoh peralatan
komputer yang dapat divirtualisasikan adalah
· Server. Mulai dari perspektif akses dan manajemen, sebuah server fisik
tunggal dapat menjadi beberapa server yang biasa disebut dengan virtual
server atau virtual machine (VM)
· Desktop. Mirip dengan virtualisasi server, virtualisasi desktop dapat
berarti dua hal. Yang pertama, memungkinkan pengguna untuk menjalankan
beberapa sistem operasi desktop (Apple Mac OS dan Microsoft Windows OS) di
dalam komputer yang sama. Yang kedua virtualisasi memungkinkan data dan
layanan yang dimiliki oleh pengguna diletakkan di komputer yang digunakan
bersama dengan data dan layanan milik orang lain.
· Storage. Satu tempat penyimpanan fisik dapat terlihat menjadi beberapa
driver virtual. Dengan kata lain, dengan menggunakan windows yang terpisah
di console manajemen yang umum, administrator IT dapat memperlakukan drive
virtual seperti drive fisik.
· Application. Saat memvirtualisasi, aplikasi yang ditulis untuk sebuah
lingkungan sistem operasi dapat dijalankan di lingkungan operasi yang lain
untuk meningkatkan kecocokan aplikasi dan kemudahan pengelolaan. Operasi
akan diarahkan ke sistem operasi yang sesuai.
· Network. Di dalan jaringan, sebuah router fisik dapat mendukung beberapa,
alamat IP untuk membuat router virtual. Sama seperti sebuah switch Ethernet
fisik dapat mendukung beberapa alamat MAC (media access control) untuk
membuat switch virtual. Sebuah hardware fisik dapat dibagi menjadi beberapa
router atau switch virtual untuk mengurangi biaya.
Komputasi Distribusi pada Cloud Computing
Komputasi terdistribusi adalah menyatukan kemampuan dari sumber daya
(sumber komputasi atau sumber informasi) yang terpisah secara fisik, ke
dalam suatu sistem gabungan yang terkoordinasi dengan kapasitas yang jauh
melebihi dari kapasitas individual komponen-komponennya.
Salah satu masalah yang dihadapi dalam usaha menyatukan sumber daya yang
terpisah ini antara lain adalah skalabilitas, dapat atau tidaknya sistem
tersebut dikembangkan lebih jauh untuk mencakup sumber daya komputasi yang
lebih banyak.
Cloud Computing (komputasi awan) merupakan gabungan pemanfaatan teknologi
komputer (komputasi) dalam suatu jaringan dengan pengembangan berbasis
internet (awan) yang mempunyai fungsi untuk menjalankan program atau
aplikasi melalui komputer – komputer yang terkoneksi pada waktu yang sama,
tetapi tak semua yang terkonekasi melalui internet menggunakan cloud
computing.
Teknologi komputer berbasis sistem Cloud ini merupakan sebuah teknologi
yang menjadikan internet sebagai pusat server untuk mengelola data dan juga
aplikasi pengguna. Teknologi ini mengizinkan para pengguna untuk
menjalankan program tanpa instalasi dan mengizinkan pengguna untuk
mengakses data pribadi mereka melalui komputer dengan akses internet.
MapReduce dan NoSQL
Pengertian MapReduce
MapReduce merupakan sebuah konsep dimana data yang kontinue dipecah menjadi
bagian data / komponen data kecil dan didistribusikan melalui mesin-mesin
yang terhubung secara cluster. Bisa dibilang map reduce merupakan sebuah
framework yang digunakan untuk mempercepat proses pengolahan data pada
konsep cloud computing. Dalam memproses data, MapReduce dibagi menjadi 2
proses utama, yaitu Map dan Reduce. Proses Map bertugas utnuk mengumpulkan
informasi dari potongan-potongan data yang terditribusi dalam tiap komputer
dalam cluster (kelompok komputer yang saling terhubung). Hasilnya
deserahkan kepada proses Reduce untuk diproses lebih lanjut. Hasil proses
Reduce merupakan hasil akhir yang dikirim ke pengguna.
Salah satu contoh penerapan nyata map-reduce ini dalam suatu produk adalah
yang dilakukan Google. Dengan inspirasi dari functional programming map dan
reduce Google bisa menghasilkan filesystem distributed yang sangat
scalable, Google Big Table.
Desain dan Struktur MapReduce
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.
Pengertian NoSQL
Nosql adalah sebuah memcache dari bagian database sederhana yang berisi key dan value. Database ini bersifat struktur storage dimana sistem databasenya yang berbeda dengan sistem database relasional. Nosql tidak membutuhkan skema table dan menghindari operasi join dan berkembang secara horizontal. Selain itu NoSQL merupakan suatu bahasan yang jauh dari arti kata yang dibaca. Tidak berarti tanpa sql query. Melainkan bagaimana suatu sql query digunakan seminimal mungkin dalam suatu program database. Dengan memanfaatkan teknologi NoSQL ini, diharapkan mampu mengurangi beban server. Selain itu, hal ini juga memudahkan programmer dalam membuat suatu program dan proses pengembangannya. Penjelasan lebih mengenai NoSQL database akan dijelaskan pada sub bab dibawah ini.
Database NoSQL, juga disebut Not Only SQL, adalah sebuah pendekatan untuk
pengelolaan data dan desain database yang berguna untuk set yang sangat
besar data terdistribusi. NoSQL, yang mencakup berbagai teknologi dan
arsitektur, berusaha untuk memecahkan masalah skala bilitas dan kinerja
data yang besar yang database relasional tidak dirancang untuk
menangani.NoSQL ini sangat berguna ketika perusahaan perlu untuk mengakses
dan menganalisis sejumlah besar data terstruktur atau data yang disimpan
dari jarak jauh pada beberapa virtual server di awan.
Berlawanan dengan kesalahpahaman yang disebabkan oleh namanya, NoSQL tidak
melarang bahasa query terstruktur (SQL) Meskipun benar bahwa beberapa
sistem NoSQL sepenuhnya non-relasional, yang lain hanya menghindari fungsi
relasional dipilih seperti skema tabel tetap dan bergabung dengan operasi.
Sebagai contoh, daripada menggunakan tabel, database NoSQL mungkin mengatur
data menjadi objek, kunci / nilai berpasangan atau tupe.
Beberapa software yang menggunakan NoSQL yaitu:
Redis mendukung banyak bahasa pemrograman seperti ActionScript, C/C++, C#,
Clojure, Common LIsp, Dart, Erlang, Go, Haskell, Haxe, Io, Java, JavaScript
(Node.js), Lua, Objective-C, Perl, PHP, Pure Data, Python, R, Ruby, Scala,
Smalltalk, dan Tcl.
Riak merupakan basis data NoSQL terdistribusi yang menyimpan datanya dalam
bentu key-value. Riak menawarkan fitur high availability, fault tolerance,
operational simplicaity, dan scalability. Riak memiliki dua versi yakni
Open source edition dan Enterprise edition. Enterprise edition menawarkan
dukungan berbayar intensif dari pengembangnya. Pengguna Open source edition
dapat bermigrasi kapan saja ke Enterprise edition jika dibutuhkan.
Erlang ditulis dalam bahasa pemrograman Erlang dengan lisensi Apache
License 2.0. Rilis pertama Riak muncul pada tanggal 17 Agustus 2009
(bertepatan dengan 64 tahun Indonesia merdeka). Basho Technologies
merupakan perusahaan yang mengembangkan Riak.
Neo4j merupakan basis data NoSQL dengan sistem graf. Apabila berurusan
dengan basis data berbasis graf, maka Neo4j lah yang paling dikenal. Neo4j
menyimpan relasi antar objek dalam struktur seperti graf, dimana setiap
objek merujuk ke objek lainnya secara langsung.
Dalam menambahkan maupun mengambil data, Neo4j memiliki bahasa sendiri yang
disebut Cypher.
Neo4j ditulis dalam bahasa Java dengan lisensi GPL V3 oleh Neo Technologies
artinya Neo4j termasuk basis data yang open source.
Sumber:
https://putrinurani94.wordpress.com/2016/03/25/mapreduce-dan-nosql/
https://sis.binus.ac.id/2014/10/11/konsep-dasar-virtualisasi/
http://iniblackproject.blogspot.co.id/2017/05/komputasi-distribusi-pada-cloud.html
https://www.codepolitan.com/7-basis-data-nosql-populer
Tidak ada komentar:
Posting Komentar