Selasa, 29 Maret 2016

MAP REDUCE DAN NO SQL (Not Only SQL)


  • Map Reduce dan NoSQL 
Map Reduce dan NoSQL adalah sebuah pemrograman framework yang digunakan untuk membantu user mengembangkan sebuah data yang berukuran besar dan dapat terdistribusi satu sama lain.

  • Definisi Map Reduce
Map Reduce adalah model pemrograman untuk memproses set data yang besar, merupakan nama dari sebuah implementasi dari model oleh Google. Map Reduce telah didesain sangat sederhana. Untuk menggunakan Map Reduce, 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.

Contoh dari penerapan Map Reduce ini dalam suatu produk adalah yang dilakukan oleh Google. Dengan inspirasi dari functional programming map dan reduce Google bisa menghasilkan filesystem distributed yang sangat scalable, Google Big Table.

  • Definisi NoSQL 
NoSQL adalah teknologi komputasi yang dirujukkan kepada kelas yang luas dari sistem manajemen basis data. Sistem database NoSQL  sangat dioptimalkan untuk pengambilan dan operasi penambahan dan sering menawarkan fungsionalitas sedikit di luar penyimpanan record (misalnya key-value stores). Menurunnya fleksibilitas run-time dibandingkan dengan sistem SQL penuh dikompensasi oleh keuntungan yang nyata pada skalabilitas dan kinerja untuk data model tertentu. NoSQL merupakan sistem manajemen database yang berbeda dari sistem manajemen database relasional yang klasik dalam beberapa hal NoSQL mungkin tidak akan membutuhkan skema table dan umurnya menghindari operasi join dan berkembang secara horizontal.


  • Implementasinya dalam Cloud Computing
Contoh implementasi dalam pembahasan cloud computing adalah penggunaan pada mobile BLACKBERRY dan Amazon Web Services.

Blackberry  adalah salah satu dari sekian banyak aplikasi dari mobile computing karena dilihat dari definisinya, mobile computing adalah computer yang dibuat untuk mengatasi masalah perpindahan, atau lebih mudahnya adalah computer yang mudah dibawa kemana-mana dan dapat digunakan untuk berkomunikasi satu sama lain.Salah satu fasilitas yang ada di black berry untuk berkomunikasi antara satu sama lain yaitu blackberry messenger atau yang lebih dikenal BBM.Fasilitas dari blackberry ini menggunakan PIN code dalam berkomunikasi satu sama lain.PIN code ini hanya untuk membedakan antara blackberry satu dengan blackberry yang lain.PIN code ini terdiri dari 8 digit,yang terdiri dari alphabet dan numerik.Blackberry messenger memiliki beberapa kelebihan antara lain:

      1.      Bisa digunakan untuk melakukan komunikasi berupa chatting
      2.      Memerlukan biaya yang lebih murah daripada SMS biasa
      3.      Pesan yang diterima,tidak memenuhi inbox
      4.      Bisa melakukan chatting dengan grup

Akan tetapi dari beberapa kelebihan tersebut,blackberry messenger memiliki beberapa kekurangan pula,antara lain : Hanya bisa digunakan oleh sesama pengguna blackberry Tidak bisa saling berkomunikasi anatara sesama pengguna apabila tidak mengetahui pin code nya.

Dengan EC2, pelanggan membuat mereka sendiri Amazon Machine Images (AMIs) yang berisi sistem operasi, aplikasi, dan data, dan mereka mengontrol berapa banyak contoh masing-masing berjalan AMI pada waktu tertentu. Pelanggan membayar jam misalnya-(dan bandwidth) yang mereka gunakan, menambahkan sumber daya komputasi pada waktu puncak dan menghapus mereka ketika mereka tidak lagi diperlukan. EC2 ini, Simple Storage Service (S3), dan lainnya korban Amazon skala untuk memberikan layanan melalui internet dalam kapasitas besar untuk jutaan pengguna.

Amazon menyediakan lima jenis server yang berbeda mulai dari yang sederhana-core server x86 delapan-core untuk server x86_64. Anda tidak perlu untuk mengetahui server yang sedang digunakan untuk memberikan contoh layanan.Anda dapat menempatkan contoh-contoh di lokasi geografis yang berbeda atau zona ketersediaan.Amazon memungkinkan elastis alamat IP yang dapat dialokasikan secara dinamis terhadap kasus. 

Sumber :

DISTRIBUSI KOMPUTASI DALAM CLOUD COMPUTING


  • Cloud Computing

Cloud Computing atau komputasi awan merupakan gabungan dari pemanfaatan teknologi komputer dan pengembangannya yang berbasis internet. Komputasi awan sering ditemui diperusahaan-perusahaan besar, tujuannya agar pengguna dapat mengakses data kapan saja dan di mana saja tanpa adanya batas dan yang lebih penting adanya koneksi internet.

Cloud Computing digunakan untuk menyimpan data secara terpusat di satu server berdasarkan layanan yang disediakan oleh penyedia layanan komputasi awan. Untuk keamanan data tak perlu diragukan lagi karena keamanan data pengguna disimpan dengan aman yang disediakan oleh penyedia layanan Komputasi Modern.




  • Distribusi Komputasi dalam Cloud Computing

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). 

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.

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.

  • Implementasi Distribusi Komputasi Awan
Ada tiga poin utama yang diperlukan dalam implementasi cloud computing, yaitu :

     1. Komputer Front End

Komputer front end merupakan sebuah media tatap muka yang digunakan untuk melakukan interaksi dengan data yang ada dalam sebuah sistem. Biasanya merupakan komputer desktop biasa. Front-end lebih mengarah kepada sebuah layanan umum yang memungkinkan semua orang dapat menerima atau memberikan informasi kepada banyak proses yang dilakukan.

     2. Komputer Back End

Komputer back end dalam skala besar biasanya berupa server komputer yang dilengkapi dengan data center dalam penyimpanan besar. Pada umumnya komputer back end harus mempunyai kinerja yang tinggi, karena harus melayani hingga ribuan permintaan data.

     3. Penghubung antara keduanya

Penghubung keduanya bisa berupa jaringan LAN atau internet.

  • Kesimpulan

Cloud computing berfungsi untuk menyimpan data pada internet. Di dalam cloud computing terdapat distribusi komputasi, dimana terjadi interaksi yang dilakukan antar komputer seperti mengirim dan menerima data menggunakan jaringan komputer hingga pengaksesan sumber daya bisa dilakukan secara paralel dan bisa dimanfaatkan dalam waktu yang bersamaan.

Sumber :