Selasa, 21 April 2020

Quantum Computation



1.    Quantum Computation
·     Quantum Computing adalah alat hitung yang menggunakan sebuah fenomena mekanika kuantum, misalnya superposisi dan keterkaitan untuk melakukan operasi data. Dalam komputasi klasik, jumlah data dihitung dengan bit. Dalam komputer kuantum, hal ini dilakukan dengan qubit. Prinsip dasar komputer kuantum adalah bahwa sifat kuantum dari partikel dapat digunakan untuk mewakili data dan struktur data dan bahwa mekanika kuantum dapat digunakan untuk melakukan operasi dengan data ini. Dalam hal ini untuk mengembangkan komputer dengan sistem kuantum diperlukan suatu logika baru yang sesuai dengan prinsip kuantum. Dan apa itu Qubit serta Mekanika Kuantum?
·       Qubit atau Binary Digit merupakan ukuran terkecil data dalam sebuah komputer yang hanya terdiri dari 1 atau 0, nyala atau mati, benar atau salah, tidak ada selain dari dua kemungkinan itu. Tapi qubit atau quantum bit, bisa memiliki tiga kemungkinan yaitu 1, 0 atau supersisi dari 1 dan 0. Iya, tidak dan mungkin. Qubit menggunakan mekanika kuantum (hukum fisika yang berlaku hanya untuk partikel yang sangat kecil seperti atom) untuk mengkodekan informasi baik sebagai 1 dan 0 pada saat yang sana. Sedangkan
·        Mekanika Kuantum merupakan cabang dasar fisika yang menggantikan mekanika klasik paa tataran atom dan sub atom. Kuantum komputer menggunakan fenomena dari mekanika kuantum yang berupa superposition, entanglement, multi verse dan tunneling. Superposition adalah keadaan dimana diantara 2 kemungkinan atau bisa disebut gabungan 2 kemungkinan. 

2.   ENTANGLEMENT
Setelah tadi kita membahas dan memahami apa itu Quantum Computation dan Quantum Komputer, selanjutnya kita akan memasuki pembahasan tentang Entanglement. Entanglement itu sendiri masih termasuk ke dalam bagaian dari Quantum Computation. Dan apa itu Entanglement??? Berikut penjelasannya... 
Entanglement adalah suatu teori mekanika Quantum yang menggambarkan seberapa cepat dan betapa kuatnya keterhubungan partikel-partikel pada Quantum Komputer yang dimana jika suatu partikel diperlakukan "A" maka akan memberikan dampak "A" juga ke partikel lainnya.

3.   PENGOPERASIAN DATA QUBIT
Sekarang kita akan membahas tentang Pengoperasian Data Qubit. Dimana sebelumnya kita telah membahas pengertian dari Qubit atau Binary Digit  yang ada dibagian "Pendahuluan" diatas. selanjutnya pada bagian ini, kita akan membahas bagaimana cara Pengoperasian Data Qubit. Qubit merupakan kuantum bit yang terdiri dengan digit biner atau bit dari komputasi klasik. Dalam komputer kuantum, sejumlah partikel elemental seperti elektron atau foton dapat digunakan, baik dengan biaya mereka atau polarisasi yang bertindak sebagai representasi dari 0 dan 1. Setiap partikel-partikel ini dikenal sebagai Qubit, sifat dan perilaku partikel-partikel yang membentuk dasar dari komputasi kuantum. Dua aspek yang paling relevan fisika kuantum dalah prinsip superposisi dan entanglement.
Sebuah contoh implementasi dari Qubit untuk komputer kuantum yaitu bisa kita mulai dengan menggunakan partikel dengan dua putaran yang menyatakan : "Down" dan "Up". Namun pada kenyataanya sistem yang memiliki sesuatu dapat diamati dalam jumlah yang banyak dan dalam waktu yang berevolusi. Seperti bahwa A memiliki setidaknya dua diskrit dan cukup dengan spasi berturut-turut, maka kandidat yang cocok untuk menerapkan implementasi ini yaitu sebuah Qubit. Dimana setiap sistemnya tersebut dapat dipetakan ke proses yang efektif spin -1/2 sistem.

4.    ALGORITMA QUANTUM COMPUTING
Para ilmuwan mulai melakukan perisettan mengenai sistem kuatum, mereka juga berusaha untuk menemukan logika apa yang sesuai dengan sistem tersebut. Sampai saat ini telah dikemukakan dua algoritma baru yang dapat digunakan dalam sistem Quantum yaitu Algoritma Shor dan Algoritma Grover. Berikut penjelasan dari masing-masing algoritma....

  • Algoritma Shor adalah sebuah teori dimana komputer kuantum dapat memecahkan sebuah kode rahasia yang saat ini secara umum digunakan untuk mengamankan pengiriman data. Kode ini disebut kode RSA. Algoritma shor sendiri diambil dari nama penemunya yaitu  Peter Shor pada tahun 1995. Berkat Peter Shor, teori algoritma ini jika sebuah pengiriman data melalui kode RSA, data yang dikirimkan akan aman karena kode RSA tidak dapat dipecahkan dalam waktu yang singkat dan membutuhkan lebih banyak komputer yang terhubung secara paralel dan itu membutuhkan watu yang tidak sebentar.
  • Algoritma Grover adalah sebuah algoritma kuantum yang menawarkan percepatan kuadrat dibandingkan pencarian linear klasik untuk list tak terurut. Algoritma grover menggambarkan bahwa dengan menggunakan pencarian model kuantum,  pencarian dapat dilakukan lebih cepat dari model komputasi klasik. Dari banyaknya algoritma kuantum, algoritma grover akan memberikan jawaban yang benar dengan probabilitas yang tinggi. Kemungkinan kegagalan dapat dikurangi dengan mengulangi algoritma. Algoritma grover juga dapat digunakan untuk memperkirakan rata-rata dan mencari median dari serangkaian angka untuk memecahkan masalah collision. 

Tentang quantum gates dan algoritma shor , Algoritma Shor didasarkan dari sebuah teori bilangan: fungsi F(a) = xamod n adalah feungsi periodik jika x adalah bilangan bulat yang relatif prima dengan n. Dalam Algoritma Shor, n akan menjadi bilangan bulat yang hendak difaktorkan. Menghitung fungsi ini di komputer konvensional untuk jumlah yang eksponensial akan membutuhkan waktu eksponensial pula. Pada masalah ini algoritma quantum shor memanfaatkan pararellisme quantum untuk melakukannya hanya dengan satu langkah. Karena F(A) adalah fungsi periodik, maka fungsi ini memiliki sebuah periode r. Diketahui x0mod n = 1, maka xr mod n =1, begitu juga x2r mod n dan seterusnya.

Gambar Quantum Computer






Referensi

 



Jumat, 10 April 2020

Cloud Computing, Grid Computing, Virtualisasi, Distributed Computing, MapReduce dan NoSQL


·         Cloud Computing
Cloud computing atau komputasi awan merupakan definisi untuk teknologi komputerasi grid (grid computing) yang digunakan pada pertengahan hingga akhir tahun 1990-an. Jargon cloud computing atau komputasi awan mulai muncul pada akhir tahun 2007, digunakan untuk memindahkan layanan yang digunakan sehari-hari ke Internet, bukan disimpan di komputer lokal lagi. Pada saat itu, layanan lain termasuk pengolahan kata, spreadsheet, dan presentasi telah dipindahkan ke dalam komputasi awan.

·         Konsep Dasar
  • Infrastructure as a Service (IaaS)


Infrastructure as a Service merupakan layanan komputasi awan yang menyediakan infrastruktur IT berupa CPU, RAM, storage, bandwith dan konfigurasi lainnya. Komponen-komponen tersebut digunakan untuk membangun komputer virtual. Komputer virtual dapat diinstal sistem operasi dan aplikasi sesuai kebutuhan. Keuntungan layanan IaaS ini adalah tidak perlu membeli komputer fisik sehingga lebih menghemat biaya. Konfigurasi komputer virtual juga bisa diubah sesuai kebutuhan. Misalkan saat storage hampir penuh, storage bisa ditambah dengan segera. Perusahaan yang menyediakan IaaS adalah Amazon EC2, TelkomCloud dan BizNetCloud.
 Bagian-bagian dari Iaas atau Haas :
  1. Perjanjian Layanan yang merupakan awal dari persetujuan klien dan provider.
  2. Hardware komputer.
  3. Networking.
  4. Koneksi Internet.
  5. Virtualisasi Platform.
  6. Billing.
  • Platform as a Service (PaaS)

Platform as a Service adalah layanan yang menyediakan computing platform. Biasanya sudah terdapat sistem operasi, database, web server dan framework aplikasi agar dapat menjalankan aplikasi yang telah dibuat. Perusahaan yang menyediakan layanan tersebutlah yang bertanggung jawab dalam pemeliharaan computing platform ini. Keuntungan layanan PaaS ini bagi pengembang adalah mereka bisa fokus pada aplikasi yang mereka buat tanpa memikirkan tentang pemeliharaan dari computing platform. Contoh penyedia layanan PaaS adalah Amazon Web Service dan Windows Azure.

Sistem PaaS terbagi menjadi 3 yaitu :
  1. Fasilitas Pengembangan Add-On. Sistem ini akan menawarkan beberapa aplikasi PaaS yang bisa dikostumisasi oleh user.
  2. Stand Alone Environments. Untuk penggunaan software developing biasa.
  3. Application Delivery-Only Environments. Juga mendukung layanan hosting, seperti keamanan dan skalabilitas. Tidak termasuk development dan debugging.
  • Software as a Service (SaaS)

Software as a Service adalah layanan komputasi awan dimana kita bisa langsung menggunakan aplikasi yang telah disediakan. Penyedia layanan mengelola infrastruktur dan platform yang menjalankan aplikasi tersebut. Contoh layanan aplikasi email yaitu gmail, yahoo dan outlook sedangkan contoh aplikasi media sosial adalah twitter, facebook dan google+. Keuntungan dari layanan ini adalah pengguna tidak perlu membeli lisensi untuk mengakses aplikasi tersebut. Pengguna hanya membutuhkan perangkat klien komputasi awan yang terhubung ke internet. Ada juga aplikasi yang mengharuskan pengguna untuk berlangganan agar bisa mengakses aplikasi yaitu Office 365 dan Adobe Creative Cloud.

Ada beberapa tipe software yang ditawarkan SaaS, yaitu :
  1. Manajemen resources bagi pelanggan.
  2. Video Conferencing.
  3. Manajemen Layanan IT.
  4. Akunting.
  5. Analisa Web.
  6. Manajemen web content.

·         Grid Computing.
Pengertian dari Grid Computing itu sendiri adalah sebuah sistem komputasi terdistribusi, yang memungkinkan seluruh sumber daya (resource) dalam jaringan, seperti pemrosesan, bandwidth jaringan, dan kapasitas media penyimpan, membentuk sebuah sistem tunggal secara vitual. Seperti halnya pengguna internet yang mengakses berbagai situs web dan menggunakan berbagai protokol seakan-akan dalam sebuah sistem yang berdiri sendiri, maka pengguna aplikasi Grid computing seolah-olah akan menggunakan sebuah virtual komputer dengan kapasitas pemrosesan data yang sangat besar.
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.
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.
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.
Elemen-Elemen dalam Komputasi Grid
Penerapan teknologi grid computing atau komputasi grid pada kalangan yang membutuhkan, wajib memiliki elemen-elemen tertentu. Secara garis besar, 3 elemen pokok dari infrastuktur grid adalah:
1.    hardware/sumber daya;
2.    software; dan
3.    brainware (orang yang memelihara dan memakai komputasi grid). 
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.

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

·         Distributed Computing

Komputasi terdistribusi merupakan bidang ilmu komputer yang mempelajari sistem terdistribusi. Sebuah sistem terdistribusi terdiri dari beberapa otonom komputer yang berkomunikasi melalui jaringan komputer . Komputer yang saling berinteraksi untuk mencapai tujuan bersama. Sebuah program komputer yang berjalan dalam sistem terdistribusi disebut program didistribusikan, dan didistribusikan program adalah proses penulisan program tersebut. Komputasi terdistribusi juga mengacu pada penggunaan sistem terdistribusi untuk memecahkan masalah komputasi. Dalam komputasi terdistribusi, masalah dibagi menjadi tugas banyak, setiap yang diselesaikan oleh satu komputer.
Perbedaan Distributed Computing, Grid Computing, dan Cloud Computing
Distributed Computing adalah ilmu yang memecahkan masalah besar dengan memberikan bagian kecil dari masalah untuk banyak komputer untuk memecahkan dan kemudian menggabungkan solusi untuk bagian-bagian menjadi solusi untuk masalah tersebut.
Grid Computing adalah kombinasi sumber daya komputer dari beberapa domain administrasi untuk mencapai tujuan bersama. komputasi Grid (atau penggunaan dari komputasi grid) adalah menerapkan sumber daya dari banyak komputer dalam jaringan untuk masalah tunggal pada saat yang sama – biasanya untuk masalah ilmiah atau teknis yang memerlukan sejumlah besar siklus pengolahan komputer atau akses ke besar jumlah data .
Cloud computing adalah teknologi yang menggunakan internet dan server remote sentral dalam menjaga data dan aplikasi. Cloud komputasi memungkinkan konsumen dan bisnis untuk menggunakan aplikasi tanpa instalasi dan mengakses file pribadi mereka di setiap komputer dengan akses internet. Teknologi ini memungkinkan komputasi yang jauh lebih efisien dengan memusatkan penyimpanan, memori, pengolahan dan bandwidth.

·         Map Reduce
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. 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

Tujuan 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

·         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 datadan 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 melarangbahasa 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 tupel
Jadi Map Reduce dan NoSQL (Not Only SQL) adalah sebuah pemogramaan framework guna untuk membantu user mengembangankan sebuah data yang ukuran besar dapat terdistribusi satu sama lain. Map-Reduce adalah salah satu konsep teknis yang sangat penting di dalam teknologi cloud terutama karena dapat diterapkannya dalam lingkungan distributed computing. Dengan demikian akan menjamin skalabilitas aplikasi kita.
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. Dan juga terinspirasi dari Google, pada ranah open source terlihat percepatan pengembangan framework lainnya yang juga bersifat terdistribusi dan menggunakan konsep yang sama, project open source tersebut bernama Apache Hadoop.
       










Referensi      :