0
Modern Computation
Posted by a
on
14.29
Komputasi Cloud
Cloud
Computing? pasti banyak dari kita yang sudah sering dengar kata tersebut, atau
jika belum pernah dengar, mungkin pernah dengar istilah dalam bahasa
Indonesia-nya, yaitu “Komputasi Awan”. Apakah
komputer di awan? Bukan berarti komputernya
ada di awan. Ada banyak sudut pandang untuk menjelaskan apa itu Cloud
Computing, Wikipedia sendiri menjelaskan Cloud Computing dengan cukup jelas. Cloud Computing atau komputasi awan
merupakan kombinasi pemanfaatan teknologi komputer dengan pengembangan berbasis
internet. Sebutan cloud sendiri merupakan sebuah istilah yang diberikan pada
teknologi jaringan internet. Pada
teknlogi komputasi berbasis awan semua data berada dan disimpan di server
internet, begitu juga dengan aplikasi ataupun software yang pada umumnya
dibutuhkan pengguna semuanya berada di komputer server. Sehingga kita tidak perlu melakukan
instalasi pada server. Tetapi pengguna harus terhubung ke internet untuk bisa
mengakses dan menjalankan aplikasi yang berada di server tersebut.
Dengan
kata lain pengguna bisa saja hanya menyediakan sebuah komputer dan perangkat
jaringan internet untuk bisa terhubung ke server internet dan menyimpan data di
komputer server tanpa harus menyediakan hard-disk yang berkapasitas besar pada
komputernya sendiri untuk menyimpan datanya. Begitu
juga dengan program aplikasi katakanlah seperti Microsoft Office, Excel dan
lain sebagainya pengguna bisa menjalankan aplikasi tersebut di server internet
sehingga tidak perlu repot-repot untuk menginstal aplikasi tersebut di
komputernya sendiri.
Dengan
Kata lain kita tidak perlu investasi server berbentuk fisik, kita tidak perlu
maintain hardware server. Bagaimana sangat bagus bukan?
Jenis-jenis cloud
computing
Berdasarkan
jenis layanan-nya, Cloud Computing dibagi menjadi berikut ini:
Software as a Service (SaaS)
Adalah
salah satu layanan dari Cloud Computing dimana kita tinggal memakai software
(perangkat lunak) yang telah disediakan. User hanya tahu bahwa perangkat lunak
bisa berjalan dan bisa digunakan dengan baik. Contoh,
layanan email publik (Gmail, YahooMail, Hotmail), social network (Facebook,
Twitter, LinkedIn) instant messaging (Yahoo Messenger, Skype, Line, WhatsApp) dan
masih banyak lagi yang lain. Dalam
perkembangan-nya, banyak perangkat lunak yang dulu hanya kita bisa nikmati
dengan menginstall aplikasi tersebut di komputer kita (on-premise) mulai
sekarang bisa kita nikmati lewat Cloud Computing. Keuntungan-nya,
kita tidak perlu membeli lisensi dan tinggal terkoneksi ke internet untuk
memakai-nya. Contoh, Microsoft Office yang sekarang kita bisa nikmati lewat
Office 365, Adobe Suite yang bisa kita nikmati lewat Adobe Creative Cloud.
Platform as a Service (PaaS)
Adalah
layanan dari Cloud Computing kalau kita analogikan dimana kita menyewa “rumah”
berikut lingkungan-nya (sistem operasi, network, database engine, framework
aplikasi, dll), untuk menjalankan aplikasi yang kita buat. Kita tidak perlu pusing untuk
menyiapkan “rumah” dan memelihara “rumah” tersebut. Yang penting aplikasi yang
kita buat bisa berjalan dengan baik di “rumah” tersebut. Untuk pemeliharaan
“rumah” ini menjadi tanggung jawab dari penyedia layanan. Sebagai analogi, misal-nya kita sewa
kamar hotel, kita tinggal tidur di kamar yang sudah kita sewa, tanpa peduli
bagaimana “perawatan” dari kamar dan lingkungan-nya. Yang penting, kita bisa
nyaman tinggal di kamar itu, jika suatu saat kita dibuat tidak nyaman, tinggal
cabut dan pindah ke hotel lain yang lebih bagus layanan-nya. Contoh penyedia layanan PaaS ini
adalah: Amazon Web Service, Windows Azure,
bahkan tradisional hosting-pun merupakan contoh dari PaaS. Keuntungan dari PaaS adalah kita
sebagai pengembang bisa fokus pada aplikasi yang kita buat, tidak perlu
memikirkan operasional dari “rumah” untuk aplikasi yang kita buat.
Infrastructure as a Service (IaaS)
Adalah
layanan dari Cloud Computing dimana kita bisa “menyewa” infrastruktur IT
(komputasi, storage, memory, network). Kita bisa definisikan berapa besar-nya
unit komputasi (CPU), penyimpanan data (storage), memory (RAM), bandwith, dan
konfigurasi lain-nya yang akan kita sewa. Mudah-nya,
IaaS ini adalah menyewa komputer virtual yang masih kosong, dimana setelah
komputer ini disewa kita bisa menggunakan-nya terserah dari kebutuhan kita.
Kita bisa install sistem operasi dan aplikasi apapun diatas-nya. Contoh penyedia layanan IaaS ini
adalah: Amazon EC2, Windows Azure (soon), TelkomCloud, BizNetCloud, dan
sebagainya. Keuntungan
dari IaaS ini adalah kita tidak perlu membeli komputer fisik, dan konfigurasi
komputer virtual tersebut bisa kita rubah (scale up/scale down) dengan mudah. Sebagai
contoh, saat komputer virtual tersebut sudah kelebihan beban, kita bisa
tambahkan CPU, RAM, Storage dan lainnya dengan segera.
Komputasi Grid
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.
KONSEP GRID
COMPUTING
Beberapa konsep dasar dari grid computing :
·
Sumber
daya dikelola dan dikendalikan secara lokal.
·
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.
·
Sifat
alami dinamis: Sumber daya dan pengguna dapat sering berubah
·
Lingkungan
kolaboratif bagi e-community (komunitas elektronik, di internet)
·
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.
Virtualisasi
Dalam ilmu komputer, virtualisasi (bahasa Inggris:
virtualization) adalah istilah umum yang mengacu kepada abstraksi dari sumber
daya komputer. Definisi lainnya adalah "sebuah teknik untuk menyembunyikan
karakteristik fisik dari sumber daya komputer dari bagaimana cara sistem lain,
aplikasi atau pengguna berinteraksi dengan sumber daya tersebut. Hal ini
termasuk membuat sebuah sumber daya tunggal (seperti server, sebuah sistem
operasi, sebuah aplikasi, atau peralatan penyimpanan terlihat berfungsi sebagai
beberapa sumber daya logikal; atau dapat juga termasuk definisi untuk membuat
beberapa sumber daya fisik (seperti beberapa peralatan penyimpanan atau server)
terlihat sebagai satu sumber daya logikal." Istilah virtualisasi sudah
digunakan secara luas sejak 1960-an, dan telah diaplikasikan kepada beberapa
aspek komputer—dari keseluruhan sistem komputer sampai sebuah kemampuan atau
komponen individu. Secara umum semua teknologi virtualisasi mengacu kepada
"menyembunyikan detail teknis" melalui enkapsulasi. Menurut Alan
Murphy dalam papernya Virtualization Defined – Eight Different Ways,
menyebutkan setidaknya terdapat delapan istilah dalam penerapan virtualisasi.
Diantaranya adalah operating system virtualization, application server
virtualization, application virtualization, management virtualization, network
virtualization, hardware virtualization, storage virtualization dan service
virtualization. Namun untuk kali ini saya akan fokus membahas tentang
virtualisasi jaringan/data center
Fungsi
Virtualisasi
Secara umum fungsi virtualisasi data center adalah
sebagai berikut.
1.Pengurangan Biaya Investasi Hardware. Investasi
hardware dapat ditekan lebih rendah karena virtualisasi hanya mendayagunakan
kapasitas yang sudah ada. Tak perlu ada penambahan perangkat komputer, server
dan pheriperal secara fisik. Kalaupun ada penambahan kapasitas harddisk dan
memori, itu lebih ditujukan untuk mendukung stabilitas kerja komputer induk,
yang jika dihitung secara finansial, masih jauh lebih hemat dibandingkan
investasi hardware baru.
2.Kemudahan Backup & Recovery. Server-server yang
dijalankan didalam sebuah mesin virtual dapat disimpan dalam 1 buah image yang
berisi seluruh konfigurasi sistem. Jika satu saat server tersebut crash, kita tidak
perlu melakukan instalasi dan konfigurasi ulang. Cukup mengambil salinan image
yang sudah disimpan, merestore data hasil backup terakhir dan server berjalan
seperti sedia kala. Hemat waktu, tenaga dan sumber daya.
3.Kemudahan Deployment. Server virtual dapat dikloning
sebanyak mungkin dan dapat dijalankan pada mesin lain dengan mengubah sedikit
konfigurasi. Mengurangi beban kerja para staff IT dan mempercepat proses
implementasi suatu sistem
4.Mengurangi Panas. Berkurangnya jumlah perangkat
otomatis mengurangi panasnya ruang server/data center. Ini akan berimbas pada
pengurangan biaya pendinginan/AC dan pada akhirnya mengurangi biaya penggunaan
listrik
5.Mengurangi Biaya Space. Semakin sedikit jumlah
server berarti semakin sedikit pula ruang untuk menyimpan perangkat. Jika
server ditempatkan pada suatu co-location server/data center, ini akan berimbas
pada pengurangan biaya sewa
6.Kemudahan Maintenance & Pengelolaan. Jumlah
server yang lebih sedikit otomatis akan mengurangi waktu dan biaya untuk
mengelola. Jumlah server yang lebih sedikit juga berarti lebih sedikit jumlah
server yang harus ditangani
7.Standarisasi Hardware. Virtualisasi melakukan
emulasi dan enkapsulasi hardware sehingga proses pengenalan dan pemindahan suatu
spesifikasi hardware tertentu tidak menjadi masalah. Sistem tidak perlu
melakukan deteksi ulang hardware sebagaimana instalasi pada sistem/komputer
fisik
8.Kemudahan Replacement. Proses penggantian dan
upgrade spesifikasi server lebih mudah dilakukan. Jika server induk sudah
overload dan spesifikasinya tidak mencukupi lagi, kita bisa dengan mudah
melakukan upgrade spesifikasi atau memindahkan virtual machine ke server lain
yang lebih powerful.
Keuntungan Menggunakan teknologi Virtualisasi
Semakin berkembangnya tuntutan dunia dalam industri
komputer untuk memenuhi kebutuhan manusia dan semakin komplex infrastruktur
untuk membangun nya maka teknologi virtualisasi dibuat untuk menyederhanakan
kerumitan yang ada. dengan menggunakan virtual environment,konfigurasi server
dan infrastruktur jaringan lebih gampang dimanage dan dimonitor. berikut adalah
beberapa keuntungan/benefit menggunakan teknologi virtualisasi dalam dunia
komputer modern saat ini .
·
Optimalisasi
Server
jika kita mempunyai
server fisik dengan kapasitas besar, sedangkan aplikasi server yang akan kita
bangun memerlukan resource yang kecil alangkan baiknya server yang akan kita
bangun dimasukan kedalam virtual environment dan mengatur resource VE sesuai
dengan kebutuhan aplikasi server yang akan kita bangun, Dengan demikian sisa
resource bisa kita manfaatkan untuk membangun server lain diwaktu yang akan
datang tanpa harus membeli perangkat baru.
·
SnapshotVirtual
environment
mendukung snapshot yang memungkinkan kita untuk
mengembalikan virtual environment(VE) ke kondisi saat snapshot diambil jika
terjadi kesalahan konfigurasi/Error .Snapshot akan menyimpan kondisi dari VE
dan kita bisa merestore kapanpun kita mau.
·
Migrasi
Mudah
Hypervisor sekarang telah mendukung live migration,
dimana kita bisa memindah VE (Server) yang sedang berjalan ke server fisik yang
lain tanpa mengalami server down.
·
Instan
Fail Over
Mayoritas Hypervisor telah mendukung clustering
sehingga fail over bisa dilakukan secara instan dan otomatis.
·
Flexible
Dengan
menggunakan teknologi virtual pengelolaan server akan menjadi lebih mudah
ketika kita ingin memindah, merubah resource bahkan ketika kita ingin
memindahkan server dalam keadaan hidup tanpa mengalami down (Live Migration).
Proses penginstallan dan recovery juga tidak memakan waktu yang lama jika
terjadi kerusakan /error pada Hypervisor.
Komputasi distribusi 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). Kenyataannya bahwa sumber daya yang dipakai oleh
pengguna sistem terdistribusi berada pada lokasi fisik yang terpisah, tidak
perlu diketahui oleh pengguna tersebut. Transparasi ini memungkinkan pengguna
sistem terdistribusi untuk melihat sumber daya yang terpisah tersebut
seolah-olah sebagai satu sistem computer tunggal, seperti yang biasa
digunakannya. Ada 2 buah komponen penting dalam komputasi terdistribusi yaitu
server atau komputer pusat yang secara konstan menyediakan dan menjalankan
program komputer dan database yang dibutuhkan oleh komputer lain di dalam
jaringan tersebut. Serta workstation atau client yang berisi program yang ditempatkan
pada server jaringan. Tujuan dari 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. Cloud computing sangat berguna pada saat ini
yang berfungsi untuk menyimpan data pada internet. Di dalam cloud computing terdapat
distributed computation, dimana interaksi yang dilakukan antar computer seperti
mengirim dan menerima data menggunakan jaringan computer hingga pengaksesan
sumberdaya bisa dilakukan secara paralel dan bisa dimanfaatkan dalam waktu yang
bersamaan. 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. Dalam rangka
untuk meningkatkan proses bisnis, setiap tingkatan dalam sistem biasanya
menyebarkan beberapa server untuk mendistribusikan beban dan toleransi
kesalahan. seperti distribusi beban di beberapa server dalam tingkat yang sama
dapat dilihat sebagai distribusi beban horisontal, tampak seperti gambar
berikut.
Horizontal distribusi beban
Salah satu
batasan dari distribusi beban horisontal adalah bahwa beban tidak dapat
didistribusikan lebih lanjut ketika semua server dalam tingkatan tertentu
mengambil hasil dari kesalahan konfigurasi infrastruktur. dimana terlalu banyak
server yang dikerahkan pada satu tingkat sementara dilain pihak ada sedikit
server yang dikerahkan di lain tingkatan.Sebuah pengamatan penting adalah bahwa
dalam sistem kompleks SOA multi-tier, proses bisnis tunggal sebenarnya bisa
dilaksanakan oleh beberapa jalur yang berbeda melalui tingkat perhitungan dalam
rangka memberikan ketahanan dan skalabilitas. Sebuah
layanan komposit dapat direpresentasikan sebagai tingkatan pemanggilan beberapa
komponen dalam sebuah infrastruktur TI berbasis SOA. Gambar berikut menggambarkan
istilah-istilah di atas.
Distribusi beban vertikal
Berikut
tugas analitik komposit online dapat direpresentasikan sebagai panggilan untuk
Web dan Aplikasi Server (WAS) untuk melakukan pra-pemrosesan tertentu, diikuti
dengan sebuah panggilan dari WAS ke server database (DB) untuk mengambil data
yang dibutuhkan, setelah itu WAS meneruskan data yang ditetapkan ke server
analitik khusus untuk tugas-tugas komputasi data mining yang mahal. Tugas
komposit memiliki beberapa implementasi di pusat data modern IT. Implementasi
alternatif dapat memanggil prosedur yang tersimpan pada database untuk
menjalankan data mining dan bukan memiliki server analitik khusus untuk
melakukan tugas ini. Implementasi alternatif menyediakan distribusi beban
vertikal dengan memungkinkan penjadwalan pekerjaan untuk memilih implementasi
WAS dan DB saat analitik server tidak tersedia. Reusability
adalah salah satu tujuan utama dari pendekatan SOA. Sehubungan dengan
reusability yang tinggi dari komponen aplikasi, adalah mungkin untuk menentukan
alur kerja yang kompleks dengan beberapa cara. Namun sulit untuk menilai, mana
yang merupakan penerapan yang terbaik.
Map Reduse dan No Sql
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 tupelMap Reduce danNoSQL (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.
No sql dan Database
NoSQL singkatan dari Not Only SQL. NoSQL adalah sebuah konsep mengenai
penyimpanan data non-relasional. Berbeda dengan model basis data relasional
yang selama ini digunakan, NoSQL menggunakan beberapa metode yang berbeda-beda. NoSQL
sangat berguna pada data-data yang terus-menerus berkembang, dimana data tersebut sangat kompleks sehingga sebuah
database relational tidak lagi bisa mengakomodir. Salah satu bentuknya adalah
ketika suatu data saling berhubungan satu sama lain, maka akan muncul proses
duplikasi data. Dimana data saling memanggil ke beberapa permintaan, tambahan
data baru, perubahan data, dan lain-lain dengan key yang sama. Karena faktor
hubungan antar data yang sama terjadi terus-menerus, mendorong faktor redudansi
data, data menjadi berlipat-lipat, dan pada akhirnya akan menyebabkan crash
pada database berkonsep RDBMS.
Pengelompokan
database noSQL
Secara umum, database noSQL dibagi menurut format penyimpanan dokmentnya .
Berikut ini adalah pengelompokan database noSQL berdasarkan model (penyimpanan)
datanya.
·
Document
Database contohnya MongoDB, seiap satu object data disimpan dalam satu dokumen.
Dokumen sendiri bisa terdiri dari key-value, dan value sendiri bisa berupa
array atau key-value bertingkat.
·
Graph,
Format penyimpanan data dalam struktur graph. Format ini sering dipakai untuk
data yang saling berhubungan seperti jejaring social. Contoh database noSQL
dengan format ini adalah Neo4J dan FlockDB. FlockDB dipakai oleh twitter.
·
Key –
Value, contoh database jenis ini adalah
Apache Cassandra.
·
Object
Database. Format database yang disimpan dalam object-object, Object disini sama
dengan pengertian object di Pemrograman beroreintasi object, Contoh databasenya
adalah Db4o.
·
Tipe lainnya
adalah tabular, tuple store dan berbagai jenis lain yang tidak terlalu populer.
Kelebihan
NoSQL
·
NoSQL bisa
menampung data yang terstruktur, semi terstruktur dan tidak terstuktur secara
efesien dalam skala besar (big data/cloud).
·
Menggunakan
OOP dalam pengaksesan atau manipulasi datanya.
·
NoSQL tidak
mengenal schema tabel yang kaku dengan format data yang kaku. NoSQL sangat
cocok untuk data yang tidak terstruktur, istilah singkat untuk fitur ini adalah
Dynamic Schema.
·
Autosharding,
istilah sederhananya, jika database noSQL di jalankandi cluster server
(multiple server) maka data akan tersebar secara otomatis dan merata keseluruh
server.
Kekurangan
NoSQL
·
Hostingnya
mahal. beberapa layanan di luar negeri mencharge biaya 100-200USD untuk hosting
database noSQL.
·
Sulitnya
mencari hosting Cpanel yang mendukung database MongoDB atau database noSQL
lainnya.
·
karena
bervariasinya produk dan format penyimpanan, berpindah antar satu produk
database ke produk noSQL lainnya perlu waktu untuk belajar. Contohnya ketika
anda pindah dari MongoDB ke Cassandra, maka anda harus belajar lagi dari awal,
berbeda dengan database RDMS.
Beberapa
database NoSQL:
·
MongoDB
MongoDB merupakan database open source berbasis dokumen (Document-Oriented
Database) yang awalnya dibuat dengan bahasa C++.
·
Cassandra
Apache
Cassandra Dikembangkan oleh APACHE. Aplikasi Inilah yang digunakan facebook
untuk penyimpanan miliayaran data hingga saat ini.
·
CouchDB
CouchDB juga dikembangkan oleh APACHE. CouchDB adalah database yang
benar-benar merangkul web. Menyimpan data Anda dengan dokumen JSON.
Daftar Pustaka :
http://www.cloudindonesia.or.id/apa-itu-cloud-computing.html
http://febbri-grunge.blogspot.co.id/2015/06/komputasi-grid-grid-computing.html
http://naufalgholibs.blogspot.co.id/2017/10/pengertian-dan-fungsi-virtualisasi.html
https://masyenitiffany-trip.blogspot.co.id/2017/04/mengetahui-komputasi-distribusi-dalam.html
http://dinardc.blogspot.co.id/2016/03/nosql-database.html
http://putrifebiani.blogspot.co.id/2014/05/map-reduce-dan-nosql.html
http://putrifebiani.blogspot.co.id/2014/05/map-reduce-dan-nosql.html