This is default featured slide 1 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

This is default featured slide 2 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

This is default featured slide 3 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

This is default featured slide 4 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

This is default featured slide 5 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

Rabu, 25 April 2018

Pengantar Komputasi Grid


Distributed Computation dalam Cloud Computing

Kegiatan ini merupakan kumpulan beberapa computer yang terhubung untuk melakukan pendistribusian, seperti mengirim dan menerima data serta melakukan interaksi lain antar computer yang dimana membutuhkan sebuah jaringan agar computer satu dan lainnya bisa saling berhubung dan melakukan interaksi. Hal ini semua dilakukan dengan cloud computing yang seperti kita ketahui memberikan layanan dimana informasinya disimpan di server secara permanen dan disimpan di computer client secara temporary.

Komputasi Terdistribusi merupakan salah satu tujuan dari Cloud Computing, karena menawarkan pengaksesan sumber daya secara parallel, para pengguna juga bisa memanfaatkannya secara bersamaan (tidak harus menunggu dalam antrian untuk mendapatkan pelayanan), terdiri dari banyak sistem sehingga jika salah satu sistem crash, sistem lain tidak akan terpengaruh, dapat menghemat biaya operasional karena tidak membutuhkan sumber daya (resourches).

Distribusi komputasi ini memiliki definisi mempelajari penggunaan terkoordinasi dari computer secara fisik terpisah atau terdistribusi. Pada distributed computing ini, program dipisah menjadi beberapa bagian yang dijalankan secara bersamaan pada banyak computer yang terhubung melalui jaringan internet.

Pengertian hadoop MapReduce



Untuk penyederhanaan saya coba merumuskan definisi hadoop MapReduce ke dalam poin-poin sebagai berikut :

Hadoop MapReduce adalah algoritma atau proses komputasi pada sistem terdistribusi

Ditulis di atas bahasa Java

Mempunyai 2 proses utama, yaitu map dan reduce

Mampu untuk memproses secara pararel data yang sangat besar, karena komputasi bisa berjalan di puluhan, ratusan, atau bahkan ribuan node



Map mengambil satu set data dan mengubahnya menjadi satu set data, di mana unsur-unsur individu dipecah menjadi tupel. Kemudian, Reduce mengambil output dari hasil proses map sebagai masukan dan menggabungkan/mengelompokkan tupel data ke satu set data yang lebih kecil dari tupel. Sebagai urutan pada penamaan MapReduce menyiratkan, proses reduce selalu dilakukan setelah proses map. Tupel di sini berarti pasangan antara key dan value-nya, dapat digambarkan dengan simbol "(k1, v1)"

Tahapan proses MapReduce



MapReduce terdiri atas tiga tahap, yaitu tahap map, tahap shuffle, dan terakhir tahap reduce. untuk tahapan shuffle dan reduce digabungkan kedalam satu tahap besaran-nya yaitu tahap reduce.



1. Tahap map, memproses data inputan yang umumnya berupa file yang tersimpan dalan HDFS (dapat di baca di Sistem file terdistribusi), inputan tersebut kemudian diubah menjadi tuple yaitu pasangan antara key dan value-nya.



2. Tahap reduce, memproses data inputan dari hasil proses map, yang kemudian dilakukan tahap shuffle dan reduce yang hasil data set baru-nya disimpan di HDFS kembali.



Berikut ini ilustrasi untuk mendapatkan gambaran tentang proses map dan reduce.







NoSQL merupakan kombinasi dua kata, kata No dan SQL. NoSQL adalah teknologi yang menandingi SQL. Pembuat dan pengadopsi awal dari kata NoSQL menginginkan untuk berkata No RDBMS atau No Relational tetapi akhirnya disuarakan dengan kata NoSQL. NoSQL digunakan sebagai payung pengertian untuk semua basis data dan penyimpanan data yang tidak mengikuti dasar-dasar RDBMS. NoSQL mewakili kelas dari produk dan kumpulan yang berbeda konsep tentang penyimpanan data dan manipulasi.

            Sejarah konsep NoSQL dimulai ketika Carlo Strozzi pada tahun 1998 menggunakannya untuk nama open source database relational yang tidak mengikuti standar SQL, kemudian Eric Evans (karyawan Rackspace) memperkenalkan kembali istilah NoSQL pada awal 2009 ketika Johan Oskarsson dari Last.fm ingin menyelenggarakan acara untuk membahas distributed database open source.

            Sejarah NoSQL tidak lepas dari kesulitan-kesulitan yang terjadi dalam penanganan perkembangan database dengan menggunakan konsep relational database. Dalam praktiknya, database tidak hanya berkembang secara vertikal (adanya penambahan baris), tetapi juga berkembang secara horisontal (adanya penambahan field). Ketika field bertambah banyak permasalahan yang terjadi ketika menggunakan konsep RDBMS. Dalam konsep RDBMS, penambahan field merupakan masalah yang harus dihindari, akan tetapi pada kenyataannya hal itu sering terjadi. Konsep tersebut yang mendasari adanya konsep NoSQL. NoSQL tidak membutuhkan skema tabel dan umumnya menghindari operasi join karena berkembang secara horisontal. Kaum akademisi menyebutnya sebagai structured storage (penyimpanan terstruktur).

            Eric Brewer menyatakan bahwa NoSQL didasarkan pada teori CAP yaitu pemilihan dua dari tiga aspek yang ada yang harus dipenuhi oleh basis data yaitu Consistency, Avaibility, dan Partition Tolerance. Consistency Avaibility (CA) berseberangan dengan Partition Tolerance dan biasanya berhubungan dengan replikasi.Consistency Partition Tolerance (CP) berseberangan dengan Avaibility dalam penyimpanan data. AvaibilityPartition Tolerance sistem mencapai kondisi eventual consistency melalui replikasi dan verifikasi yang konsisten dalam node yang telah terbagi-bagi. Dalam basis data NoSQL penerapan konsep tersebut diterjemahkan dalam empat konsep dasar yaitu Non Relational, Map Reduce, Schema Free, dan Horizontal Scaling.

a.        Non Relational

Konsep Non Relational dalam basis data NoSQL meliputi hirarki, graf, dan basis data berorientasi obyek yang sudah terlebih dahulu ada sejak tahun 1960 sebelum akhirnya basis data relational muncul pada tahun 1960. Penggunaan basis data non relational kembali merebak seiring dengan bertambahnya aplikasi berbasis web yang memerlukan banyak penyimpanan data. Meskipun memiliki kelemahan pada konsistensi dan redundansi data, namun basis data non relational dapat menyelesaikan beberapa permasalahan terkait dengan avaibility danpartition tolerance. Tugas pengecekan konsistensi dan redundansi data diserahkan pada sisi aplikasi, sedangkan basis data non relational hanya bertugas memanipulasi penyimpanan saja.

b.        Map Reduce

Map reduce merupakan model pemrograman yang diadaptasi dari pemrograman fungsional yang diimplementasikan untuk mengolah dataset yang sangat besar. Tujuan dai Map Reduce adalah merancang suatu abstraksi baru yang memungkinkan pengguna untuk membuat antar muka pemrograman sederhana dan menyembunyikan detail yang rumit dari paralelisasi, fault-tolerance, distribusi data, dan load balancing dalam pustaka pemrogramannya. Hasilnya menunjukkan bahwa penerapan Map Reduce dapat menyederhanakan antar muka pemrograman yang dapat mendukung paralelisasi dan distribusi komputasi skala besar secara otomatis.

            Pemrograman dengan Map Reduce telah sukses diterapkan penggunaannya ole Google untuk berbagai tujuan, salah satunya adalah Google Indexing. Dalam kinerjanya, Google menerapkan ribuan mesin yang bekerja pada ratusan tera bytes data dengan lokasi server yang tersebar di beberapa lokasi. Jenis arsitektur seperti ini dapat mengurangi waktu kinerja yang diperlukan. Pembangunan arsitektur Google dengan menggunakan Map Reduce memerlukan waktu hanya dalam beberapa jam saja dibandingkan dengan tidak menerapkan Map Reduceyang memerlukan waktu selama berbulan-bulan. Penggunaan library dalam Map Reduce memiliki beberapa keuntungan seperti load balancing, optimasi perangkat penyimpanan yang nantinya akan meningkatkan keefisiensian sistem dan memudahkan dalam penggunaannya. Mudahnya Map Reduce bekerja dengan membagi proses menjadi dua fase, yaitu tahap map dan tahap reduce. Seorang programmer dapat memanfaatkan dua fungsi ini bersama fungsi key-value pairs sebagai input dan output untuk mencapai semua fase.

c.         Schema Free

NoSQL dan RDBMS memiliki perbedaan dalam hal penerapan skema basis data. Dalam basis data relasional, sebuah tabel didesain dengan peraturan skema yang ketat. NoSQL menyimpan data dengan aturan yang lebih longgar, artinya tidak seperti basis data yang berdasarkan SQL tradisional. NoSQL tidak memiliki tabel, kolom, primary key, foreign key, join, relasi (Joe Lennon, 2009).

Dalam pengembangan basis data relasional, developer/ database administrator harus berhati-hati dalam menentukan bagaimana tabel saling berelasi dan field yang ada dalam setiap tabel, karena perubahan skema dalam RDBMS dapat menimbulkan masalah ketergantungan dan integritas, seperti timbulnya kolom null dan relasi kunci yang tidak cocok. Hal tersebut bukan masalah dalam NoSQL karena adanya penerapan schema-free. Setiap dokumen bertanggung jawab terhadap isinya sendiri. Jadi null value dapat dihilangkan dalam beberapa baris, dan field baru dapat didefinisikan dalam setiap dokumen secara independen.

Manfaat  lain  dalam  penggunaan  schema-free  adalah  penghematan  dalam  media  penyimpanan.  Dalam  basis  data relasional, setiap  field  yang ada dalam tabel  harus mempunyai nilai, walaupun nilai itu null. Model data  schema free artinya setiap baris memungkinkan memiliki nilai sebanyak yang telah didefinisikan dalam tiap field, dan tidak perlu menggunakan  nilai  yang  memang  tidak  diperlukan. (Eben Hewitt, 2010).

Kelemahan dalam penggunaan schema-free adalah memunculkan lemahnya pendefinisian struktur yang memungkinkan terjadinya  penggunaan basis data yang tidak konsisten. Jika tujuan pembangunan basis data  didasarkan pada konsistensi yang ketat, seperti wiki, document management   systems, discussion forums, blogs, dan support management systems, maka basis  data relasional masih merupakan pilihan yang tepat.





d.        Horizontal Scaling

Horizontal scaling memungkinkan basis data dijalankan pada beberapa server untuk meningkatkan kemampuan perangkat penyimpanan dan meningkatkan efisiensi waktu. Hal ini memerlukan kemampuan dinamis pemartisian data dalam serangkaian node (storage host) dalam suatu cluster server. Kemampuan dengan menambahkan beberapa komputer sangatlah penting dilakukan untuk data yang jumlahnya banyak, karenavertical scaling dilakukan dengan meningkatkan kemampuan spesifikasi single server terbatas dan lebih mahal.

ref :

- febbri-grunge.blogspot.co.id/2015/06/komputasi-grid-grid-computing.html

- https://sis.binus.ac.id/2014/10/11/konsep-dasar-virtualisasi/

-https://azizazkink.wordpress.com/2014/05/09/distributed-computation-dalam-cloud-computing/

- http://noviardisyamsuir.blogspot.co.id/2016/03/hadoop-mapreduce-adalah.html

- http://www.aswa.web.id/2014/09/konsep-nosql.html