Pengantar Komputasi Cloud
Pendahuluan
Pengertian
Cloud Computing
Cloud
computer merupakan sebuah gabungan pemanfaatan teknologi komputer
(komputasi) pada jaringan dengan pengembangan berbasis internet yang
mempunyai fungsi untuk menjalankan program melalui komputer yang
terkoneksi pada waktu yang sama, perlu diketahui tidak semua computer
yang terkoneksi dengan internet menggunakan Cloud Coumputing.
Teknologi
komputer berbasis sistem Cloud ini adalah teknologi yang
menjadikan internet sebagai pusat server untuk mengelola data dan
juga aplikasi pengguna. Kasarnya teknologi Cloud Computing
mengizinkan para pengguna untuk menjalankan program tanpa harus
instalasi terlebih dahulu.
Manfaat Cloud
Computing
Berikut merupakan
manfaat yang ada pada teknologi berbasis sistem cloud :
-
Data Tersimpan di Server Secara Terpusat
Cloud Computing memungkinkan kita untuk menyimpan segala
bentuk data secara terpusat pada server. Selain itu, pengguna juga
tak perlu repot repot lagi menyediakan infrastruktur seperti data
center, media penyimpanan/storage dll karena semua telah tersedia
secara virtual.
-
Keamanan Data
Cloud Computing memberikan keamanan pada data pengguna yang
dapat disimpan dengan aman melalui server yang disediakan oleh
penyedia layanan seperti jaminan platform teknologi, jaminan ISO,
data pribadi.
-
Fleksibilitas dan Skalabilitas
Cloud Computing merupakan teknologi yang sangat fleksibel dan
dapat diakses dimana dan kapan saja dengan catatan bahwa pengguna
terkoneksi dengan internet sehingga memberikan kemudahan untuk
aktifitas pengelolaan data. Selain itu, user juga dapat dengan mudah
meningkatkan atau mengurangi kapasitas penyimpanan data tanpa perlu
membeli peralatan tambahan seperti hardisk atau alat – alat
penyimpanan non virtual lainnya.
-
Investasi Jangka Panjang
Karena model penyimpanan Cloud Computing ini bersifat virtual, maka
pengalokasian biaya untuk membeli alat – alat penyimpanan non
virtual akan berkurang.
Cara Kerja
Sistem Cloud Computing
Cara
Cloud Computing bekerja menggunakan sebuah perantara internet sebagai
server dalam mengolah data. Cara ini akan memungkinkan user untuk
login ke program untuk menjalankan aplikasi yang dibutuhkan tanpa
harus melakukan instalasi pada program terlebih dahulu.
Instruksi/perintah dari pengguna akan disimpan secara virtual melalui
jaringan internet yang telah terkoneksi pada komputer kemudian
perintah – perintah tersebut dilanjutkan ke server aplikasi.
Setelah perintah yang telah disimpan secara virtual tersebut
diterima di server aplikasi, kemudian data akan diproses dan pada
proses terakhir user akan disajikan dengan sebuah halaman yang telah
diperbaharui sesuai dengan instruksi yang diterima sebelumnya.
Contohnya
nyata dari pengaplikasian Cloud Computing adalah seperti Yahoo
ataupun Gmail. Data yang aplikasi punya pada server disalurkan secara
global tanpa harus mendownload/menginstall perangkat lunak tertentu
untuk menggunakannya. User hanya memerlukan koneksi internet yang
tersambung ke device dan semua data dikelola langsung oleh Yahoo dan
juga Google. Software dan juga memori atas data pengguna tidak berada
di komputer tetapi terintegrasi secara langsung melalui sistem Cloud
menggunakan komputer yang terhubung ke internet.
Jenis-jenis
Cloud Computing
-
Infrastructure as a Service (IaaS)
Infrastructure as a Service (IaaS) merupakan layanan Cloud
Computing yang dapat menyediakan infrastruktur IT berupa CPU,
RAM, storage, bandwith dan konfigurasi lain. Komponen-komponen
tersebut digunakan untuk membangun komputer virtual.
-
Platform as a Service (PaaS)
Platform as a Service (PaaS) merupakan sebuah service yang
menyediakan computing platform. Biasanya PaaS sudah terdapat pada
sistem operasi, database, web server dan framework aplikasi agar
dapat menjalankan aplikasi yang telah dibuat. Vendor atau perusahaan
yang menyediakan layanan yang bertanggung jawab untuk pemeliharaan
computing platform nya. Manfaat dari service PaaS ini bagi pengembang
adalah mereka bisa fokus pada aplikasi yang mereka buat tanpa
memikirkan tentang pemeliharaan dari computing platform karena bagian
dari pemeliharaan sudah akan ditanggung oleh penyedia. Contoh
penyedia layanan PaaS adalah Amazon Web Service dan Windows Azure.
-
Software as a Service (SaaS)
Software as a Service (SaaS) merupakan sebuah layanan Cloud
Computing yang dimana kita dapat langsung menggunakan aplikasi
yang telah disediakan oleh penyedia. Penyedia layanan mengelola
infrastruktur dan platform yang menjalankan aplikasi tersebut.
Pengantar
Grid Computing
Grid
Komputing adalah sebuah arsitektur yang mengahasilkan sistem
informasi yang berbiaya rendah dan lebih adaptif terhadap perubahan
bisnis. Dengan arsitektur ini komponen dari hardware dan software
yang modular dan independen akan dapat dikoneksikan dan disatukan
untuk memenuhi kebutuhan. Implementasi dari grid computing ajan
menghasilkan pusat komputasi data yang tangguh dengan struktur biaya
variatif yang disesuaikan dengan kebutuhan. Permasalahan yang bisa
diselesaikan dengan arsitektur ini adalah : permaslahan pada aplikasi
yang menyebabkan hardware tidak berfungsi maksimal, kasus monolitik
(yaitu sistem sulit digunakan karena mahalnya ongkos pengelolaan dan
sulitnya dilakukan perubahan pada sistem), informasi yang
terpecah-pecah sehingga tidak bisa dimanfaatkan secara maksimal.
Komputasi grid memiliki tiga karakteristik penting yaitu:
-
Pemakaian bersama sumber daya yang terkoordinasi (setara) yang tidak berada di bawah suatu kendali terpusat.
-
Menggunakan protokol-protokol dan interface yang standar, terbuka dan serbaguna.
-
Dapat memberikan kualitas layanan (QoS) yang tinggi.
Menurut
IDC grid computing merupakan generasi kelima dalam komputasi yaitu :
host-based computing, remote access, klien/server, multitier, grid
computing. Secara singkat grid computing berarti menyatukan seluruh
sumberdaya TI yang terpisah secara geografiske dalam sekumpulan
layanan yang bisa digunakan secara bersama-sama untuk memenuhi
kebutuhan komputing perusahaan, pada pengembangannya hal ini
difokuskan untuk meningkatkan kemampuan komputsi, akses data dan
kapasitas penyimpanan data. Secara kontinyu metode arsitektur ini
menganalisa permintaan terhadap sumberdaya dan mengatur suplai yang
di sesuaikan terhapda permintaan tersebut. Dimana data disimpan atau
komputer yang akan memproses tidak perlu dipikirkan. Peneyelesaia
pmaslaah monolitik dapat diselesaikan dengan mengatur keseimbanga
suplai dan sumber daya yang fleksibel. Berikut ini merupakan sumber
daya yang dikelola oleh grid computing :
-
Sumber daya Infrasturuktur
Mencakup keseluruhan hardware seperti penyimpanan, prosessor, memori,
dan jaringan. Software untuk pengelolaan hardware seperti database,
manajemen penyimpanan, manajemen sitem, server aplikasi, dan sistem
operasi
-
Sumberdaya Aplikasi
Adanya logika bisnis dan arus proses dalam software aplikasi, berupa
aplikasi paketatau aplikasi buatan. Ditulis dalam bahasa pemrograman
dan merefleksikan tingkat kompleksitas, contohnya software pengambil
pesanan dari seseorang pelanggan dan mengirimkan balsan, proses untuk
cetak slip gaji dan lainnya.
-
Sumberdaya informasi
Informasi cenderung terfragmentasi dalam perusahaan, sehingga sulit
untuk memandang bisnis dalam satu kesatuan. Grid computing melihat
informasi adalah sumber daya, yang mencakup keseluruhan data pada
perusahaan dan menjadikan metadata sebagai data yang bisa bermakna.
Data bisa berbentuk struktur, semi-terstruktur, tersimpan di lokasi
manapun seperti database maupun sistem file local.
Virtualization
Virtualisasi,
sepertinya sudah tidak asing bagi yang bekerja di bidang Teknologi
Informasi. Istilah yang banyak digunakan untuk melakukan optimasi
sistem virtual diatas sesuatu hardware.
Why
Virtualize?
“Virtualization
means that Applications can use a resource without any concern for
where it resides, what the technical interface is, how it has been
implemented, which platform it uses, and how much of it is
available.”
Rick
F. Van der Lans in Data Virtualization for Business Intelligence
Systems
Virtualisasi
adalah sebuah teknologi yang memungkinkan untuk membuat sebuah versi
virtual dari sesuatu yang bersifat fisik. Sebagai contohnya yaitu
sistem operasi, storage/ penyimpanan data ataupun sumber daya
jaringan.
Setelah
virtualisasi terdapat istilah Hypervisor, dimana inilah yang
menjadi inti dari virtualisasi. Karena terdapat layer/ lapisan yang
berpura-pura menjadi sebuah infrastruktur dalam menjalankan virtual
machine.
5
Alasan melakukan virtualisasi :
-
Sharing, penggunaan bersama resource dengan komputasi yang besar. E.g Servers
-
Isolation, memproteksi dari sistem lain yang digunakan. E.g Virtual Private Newtork
-
Aggregating, menggabungkan banyak resouce menjadi satu. E.g storage
-
Dynamics, persiapan terhadap perubahan, alokasi sumber daya, dan lainya. E.g Virtual Machines
-
Ease of Management, mudah untuk didistribusikan, proses deploy dan testing.
Beberapa
keuntungan dari virtualisasi
-
Minimize hardware costs
-
Easy move VMs to other data centers
-
Consolidate idle workloads
-
Conserve power
-
Easier automation (Lower OpEx)
-
Scalability and Flexibility
Virtualisasi
dalam pembagian komputasi :
-
Storage
Virtual memory (L1, L2, L3)
Virtual CD, Virtual Disk (RAID), Cloud Storage
-
Computing
Virtual Desktop
Virtual Server
Virtual Datacenter
Vms, Cloud
-
Networking
Virtual channels
Virtual LANs
Virtual Private Network
Server
Virtualization Concepts
Host
OS, dijalankan di perangkat keras/ diatas hardware langsung.
Guest
OS, dijalankan diatas sistem operasi seperti Windows XP mode di
Windows 7.
Hypervisor,
software untuk mendukung banyak virtual machines.
Type
1 : Berjalan di atas perangkat keras. E.g Xen, VMware ESXi
Type
2 : Berjalan diatas sistem operasi. E.g Ms Virtual Px, Virtualbox VMs
Type
0 : Gabungan antara Type 1 dan Type 2. E.g Linux KVM
Levels
of Virtualization
-
User Virtualization
-
Application Virtualization
-
Desktop
-
Service Virtualizatoin
-
Operating System Virtualization
-
Server Virtualization
-
Storage Virtualization
-
Network Virtualization
-
Microsoft Virtual PC
-
Xen
-
Oracle VM Virtualbox
-
Microsoft Hyper-V
-
Linux KVM
-
User-Mode Linux (UML)
-
VMware ESX/ESXi
File
System for VMs
-
Using VMware’s example :
-
All physical disk are clustered in to Pools
-
Each VM has a virtual disk in some pool with extension .vmdk
-
The disk is formatted using Virtual Machine File System (VMFS)
-
Thin Provisioning
-
Thick Provisioning
-
Linked Clone
-
Non-Linked Disk
-
Persistent/Non-Persistent
Pengertian
Distribusi Komputasi
Sistem
komputasi terdistribusi adalah seperangkat mesin komputasi yang
dihubungkan oleh jaringan untuk mencapai tujuan bersama dalam
menjalankan pekerjaan atau aplikasi. Sebuah cluster komputer atau
jaringan workstation adalah contoh sistem komputasi terdistribusi.
Pengertian
Cloud Computing
Cloud
Computing merupakan suatu model komputasi yang dimana sumber daya
seperti daya komputasi, media penyimpanan(storage),
jaringan(network), dan software dijalankan sebagai layanan melalui
media jaringan, bahkan dapat diakses di tempat manapun selama
terkoneksi dengan jaringan internet. Cloud Computing juga mengubah
pandangan komputasi dengan menggeser perangkat keras dan biaya
kepegawaian dalam mengelola pusat komputasi.
Cloud
computing mempunyai tiga tingkatan layanan yang diberikan kepada
pengguna, yaitu:
Infrastructure
as service, hal ini di dalamnya meliputi Grid untuk virtualized
server, storage & network. Contohnya seperti Amazon Elastic
Compute Cloud dan Simple Storage Service.
Platform
as a service, dalam hal ini memfokuskan pada aplikasi dimana dalam
hal ini seorang developer tidak perlu memikirkan hardware dan tetap
fokus pada pembuatan aplikasi tanpa harus mengkhawatirkan sistem
operasi, infrastructure scaling, load balancing dan lain-lain. Contoh
yang sudah mengimplementasikan ini seperti Force.com dan Microsoft
Azure investment.
Software
as a service: Hal ini berfokus pada aplikasi dengan Web-based
interface yang diakses melalui Web Service dan Web 2.0. Contohnya
adalah Google Apps, SalesForce.com dan aplikasi jejaring sosial
seperti Facebook.
Kelebihan
dan kekurangan Cloud Computing
Kelebihan
Cloud Computing:
-
Menghemat biaya investasi awal untuk pembelian sumber daya.
-
Bisa menghemat waktu sehingga perusahaan bisa langsung fokus ke profit dan berkembang dengan cepat.
-
Membuat operasional dan manajemen lebih mudah karena sistem pribadi/perusahaan yang tersambung dalam satu cloud dapat dimonitor dan diatur dengan mudah.
-
Menjadikan kolaborasi yang terpercaya dan lebih ramping.
-
Mengehemat biaya operasional pada saat realibilitas ingin ditingkatkan dan kritikal sistem informasi yang dibangun.
Kekurangan
Cloud Computing:
-
Komputasi awan tidak dapat dilakukan jika tidak dapat terhubung ke Internet.
-
Apabila koneksi internet yang lambat, maka cloud computing tidak lagi optimal untuk digunakan.
-
Fitur yang ditawarkan tidak selengkap aplikasi desktop.
-
Data yang disimpan dalam awan secara umum tidaklah aman karena diperbanyak di beberapa mesin.
-
Satu Pusat Serangan. Penempatan semua server dalam satu komputer akan menjadikannya sebagai target serangan.
MapReduce dan NoSQL
MapReduce
MapReduce
merupakan sebuah model pemrograman yang dirilis oleh Google dengan
tujuan untuk memproses data yang berukuran besar yang dipecah menjadi
komponen data kecil terdistribusi melalui ribuan komputer yang
terhubung secara cluster. MapReduce sering digunakan oleh orang yang
terbiasa dengan solusi pengolahan data skala clustering.
MapReduce
merupakan pembagian dua proses yaitu proses Map dan proses Reduce.
Cara kerja masing – masing proses sama halnya yaitu dengan
mendistribusikan data – data yang sudah dibagi ke setiap komputer
dalam suatu cluster dengan cara paralel sehingga tidak saling
bergantung dengan lainnya. Proses Map bertugas untuk mengumpulkan
informasi dari pecahan data yang terdistribusi dalam cluster tersebut
dan hasil dari proses Map akan di proses lebih lanjut pada proses
Reduce sehingga menghasilkan hasil akhir dimana hasil akhir tersebut
akan dikirim ke pengguna. Hasil akhir tersebut berupa file teks yang
biasanya disimpan di HDFS secara terdistribusi.
Tahap
proses MapReduce :
MapReduce
memiliki tiga tahap, yaitu tahap map, tahap shuffle, dan tahap
reduce.
-
Tahap Map akan memproses data inputan berupa file yang tersimpan dalam HDFS (hadoop distributed file system) yang merupakan sistem file terdistribusi yang bersifat fault-tolerant dan mendukung pengolahan Big Data. Inputan tersebut selanjutnya diubah menjadi tuple antara key dan value.
-
Tahap Reduce merupakan tahap gabungan dari tahap shuffle dan tahap reduce, sehingga tetap disebut menjadi tahap reduce. Tahap ini memproses inputan dari hasil proses map, kemudian dilakukan tahap shuffle dan reduce dengan hasil data set yang baru akan disimpan kembali di HDFS.
Keuntungan
MapReduce
-
Scalability
MapReduce menjadi platform yang terukur karena kemampuan untuk
menyimpan dan mendistribusikan data yang besar pada banyak server.
Seperti halnya dalam organisasi bisnis, pemrograman MapReduce
memungkinkan organisasi bisnis untuk menjalani aplikasi dari sejumlah
besar node dengan melibatkan penggunaan ribuan terabyte data.
-
Solusi Biaya yang Efektif
Pada sistem manajemen database relasional tradisional, biaya yang
besar akan digunakan untuk mencapai skala yang sederajat dengan
Hadoop yang hanya untuk memproses data. Adanya pemrograman MapReduce
mampu memungkinkan penyimpanan dan pengolahan data dengan cara yang
terjangkau dan dapat digunakan di lain waktu, sehingga menghemat
biaya yang besar.
-
Flexibility
Pemgrograman MapReduce dapat digunakan karena memiliki akses ke
barbagai sumber data dan dapat beroperasi pada jenis data terstruktur
maupun tidak terstruktur.
-
Proses lebih cepat
Metode penyimpanan sistem file terdistribusi menerapkan sistem
pemetaan untuk mencari data dalam cluster dan pengolahan data
menggunakan pemrograman MapReduce umumnya berada pada server yang
sama, sehingga memungkinkan proses data yang lebih cepat bahkan
dengan volume data yang besar dan tidak terstruktur.
-
Keamanan dan Otentikasi
Keamanan yang diberikan pemrograman MapReduce adalah bekerja dengan
HDFS dan keamanan HBase yang hanya disetujui oleh pengguna untuk
beroperasi pada data yang tersimpan dalam sistem.
-
Proses Paralel
Cara proses kerja yang dilakukan MapReduce adalah membagi tugas
dengan cara eksekusi yang dilakukan secara parallel.
-
Ketersediaan
Ketersediaan yang dimaksud adalah ketika terjadi kegagalan pada saat
data dikirim ke seluruh jaringan, sehingga mempengaruhi node
tertentu, maka akan selalu ada salinan lain yang masih bisa diakses
kapan pun. Dengan memiliki kemampuan untuk mengenali kesalahan secara
cepat dan memberikan solusi pemulihan dengan cepat dan otomatis, hal
inilah yang merupakan salah satu keuntungan yang di dapat jika
menggunakan pemrograman MapReduce.
-
Model Pemrograman Sederhana
Pemrograman MapReduce didasarkan pada model pemrograman sederhana dan
dapat menggunakan Java yang pada dasarnya dapat membantu programmer
untuk mengembangkan program MapReduce yang menangani tugas – tugas
dengan lebih efisien.
NoSQL
NoSQL
dengan kepanjangan dari “Not Only SQL” merupakan suatu database
sederhana berisikan key dan value yang berbeda dengan sistem
manajemen database relasional dalam beberapa hal sehingga merupakan
konsep penyimpanan data secara non-relasional. Beberapa contoh
database seperti Memcache atau yang lebih canggih yaitu non-database
relational seperti MongoDB, Cassandra, CouchDB, dan lainnya.
NoSQL
juga disebut sebagai sebuah pendekatan untuk pengolahan data dan
desain database untuk data terdistribusi dengan set yang sangat
besar. NoSQL sangat berguna bagi keperluan perusahaan untuk mengakses
dan menganalisis sejumlah besar data terstruktur, karena NoSQL
mencakup berbagai teknologi dan arsitektur yang berusaha memecah
masalah skala bilitas dan kinerja data yang besar.
Beberapa
kelebihan NoSQL sebagai berikut :
-
NoSQL mampu menampung data terstruktur, semi terstruktur, dan tidak terstruktur dengan efisien dalam skala yang besar.
-
Pada pengaksesan atau manipulasi data, NoSQL menggunakan metode OOP.
-
NoSQL tidak mengenal schema tabel dengan format data yang kaku, sehingga NoSQL sangat cocok pada data yang tidak terstruktur.
-
Adanya istilah autosharding, dimana database NoSQL yang dijalankan pada multiple server maka data tersebut secara otomatis akan tersebar merata keseluruh server.
Adapun
kekurangan yang dimiliki NoSQL, seperti :
-
NoSQL dikenal memiliki hosting yang mahal, sehingga perlu mengeluarkan biaya yang lebih untuk hosting database NoSQL. Jumlah biaya hosting NoSQL pada dua tahun lalu berkisar 100 – 200 USD.
-
Untuk menggunakan database NoSQL, tidak hanya belajar atau menggunakan satu saja dari beberapa contoh database NoSQL, jika terjadi perpindahan dari satu produk database ke produk NoSQL lainnya maka pengguna harus mempelajari produk NoSQL lainnya dari awal karena setiap produk memiliki variasi dan bentuk format penyimpanan yang berbeda.
Konsep Dasar NoSQL
Pada
bagian ini akan menjelaskan fitur apa saja yang dimiliki oleh basis
data NoSQL dan tidak dimiliki oleh RDMBS terutama dalam hal bagaimana
cara mendistribusi data dan melakukan query dalam beberapa
server yang sama.
Eric
brewer menyatakan bahwa NoSQL didasarkan pada teori CAP yaitu
pemilihan dua dari tiga aspek yang harus dipenuhi oleh basis data
yaitu Consistency, Avaibility, dan Partition-Tolerance.
-
Consistency Avaibility (CA), artinya bagaimana suatu sistem dalam keadaan konsisten setelah eksekusi suatu operasi. Sistem terdistribusi biasanya dianggap konsisten jika setelah operasi update beberapa penulis, semua pembaca melihat pembaruannya di beberapa sumber data bersama.
-
Consistency Partition- Tolerance (CP) berseberangan dengan Avaiability dalam penyimpanan data. Diartikan sebagai kemampuan sistem untuk terus beroperasi dengan adanya partisi jaringan. Ini terjadi jika dua atau lebih node jaringan muncul yang (sementara atau permanen) tidak dapat terhubung satu sama lain.
-
Avaibility Partition-Tolerance, artinya bagaimana sistem dalam kondisi tersedia yang berarti bahwa sistem harus dirancang dan diimplementasikan dengan cara yang memungkinkannya melanjutkan operasi (misal mengijinkan operasi baca dan tulis) seperti contohnya node dalam cluster crash atau beberapa bagian perangkat keras atau perangkat lunak rusak karena upgrade.
Dalam basis data
NoSQL penerapan konsep tersebut diterjemahkan dalam empat konsep
dasar yaitu Non-Relational, MapReduce, Schema Free, dan
Horizontal Scaling.
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 relasional muncul pada
tahun 1970. 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
avaiability, dan partition tolerance. Tugas pengecekan
konsistensi dan redundansi data diserahkan pada sisi aplikasi,
sedangkan basis data non-relational hanya bertugas
memanipulasi penyimpanan saja.
MapReduce
MapReduce
merupakan model pemrograman yang diadaptasi dari pemrograman
fungsional yang diimplementasikan untuk mengolah dataset yang sangat
besar. Tujuan dari MapReduce adalah merancang suatu abstraksi
baru yang memungkinkan pengguna untuk membuat antarmuka pemrograman
sederhana dan menyembunyikan detail yang rumit dari pararelisasi,
fault-tolerance, distribusi data, dan load
balancing dalam pustaka pemrogramannya. Hasilnya menunjukkan
bahwa penerapan MapReduce dapat menyederhanakan antarmuka
pemrograman yang dapat mendukung paralelisasi dan distribusi
komputasi skala besar secara otomatis
Schema-Free
NoSQL
dan RDBMS mempunyai 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. Dalam artian, NoSQL tidak memiliki tabel, kolom, primary dan
foreign key, join, dan relasi seperti pada RDBMS.
Manfaat
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 kosong (null).
Model data schema-free artinya setiap baris memungkinkan
memiliki nilai sebanyak yang telah didefinisikan dalam tiap fields,
dan tidak perlu menggunakan nilai yang memang tidak diperlukan.
Kelemahan dalam penggunaan schema-free yaitu menimbulkan
lemahnya pendefinisian struktur yang memungkinkan terjadinya
penggunaan basis data yang tidak konsisten.
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 (seperti storage hosts)
dalam suatu cluster server. Kemampuan untuk meningkatkan
kemampuan dengan menambahkan beberapa komputer sangatlah penting
dilakukan untuk data yang jumlahnya banyak, karena vertical
scaling dilakukan dengan meningkatkan kemampuan spesifikasi
single server (misalnya penambahan prosesor, memori, dan peralatan
penyimpanan) terbatas untuk dilakukan dan lebih mahal. Horizontal
scaling berarti memungkinkan dilakukannya penambahan server dalam
satu jaringan dan user tidak sadar jika ada hardware yang
diganti dari sisi server (transparent).
Model Data Relasional NoSQL
Bagian
ini berisi penjelasan empat model data NoSQL, yaitu
column-oriented, document-oriented, object-oriented dan
graph-oriented
Column-oriented
Penerepan
column-oriented menggunakan distribusi multidimensional map
indexed dengan sebuah key. Setiap kolom digabungkan menjadi
sebuah column families. Super-column merupakan gabungan
dari kolom dengan nama yang umum dan digunakan untuk pemodelan tipe
data yang komplek. Baris secara unik mengidentifikasikan data yang
terdapat dalam column dan super-column. Column
Family merupakan bagian dari suatu unit abstraksi yang berisi
baris kunci yang tergabung dalam column dan super column
yang memiliki struktur data yang tinggi. Keyspace merupakan
level tertinggi dari unit informasi. Kumpulan column families
sebenarnya merupakan subordinat dari satu keyspace. Pada
intinya model data column-oriented memungkinkan suatu aplikasi
secara bebas untuk mengembangkan bagaimana informasi disusun
berdasarkan suatu desain schema.
Document-oriented
Basis
data yang memiliki model data document-oriented sangat
bermanfaat untuk suatu domain yang bentuk masukannya dokumen yang
tidak terstruktur seperti web pages, wikis, discussion forums, dan
blogs. Data tersimpan dalam basis data yang mencakup
serangkaian dokumentasi yang berisi beberapa atribut dan nilai dengan
masing-masing id yang unik dan metadata. Basis data ini
tidak pernah melakukan overwrite document, melainkan
menambahkan dokumen baru ke basis data bila diperlukan seperti ketika
terjadi proses update.
Object-oriented
Basis
data berorientasi objek adalah model basis data di mana informasi
direpresentasikan dalam bentuk objek yang digunakan dalam pemrograman
berorientasi obyek. Dokumen yang ada dalam suatu cluster,
dapat berupa fisik, logis atau in-memory,
yang digunakan untuk menyimpan link
ke dalam data. Cluster
adalah cara yang sangat umum
untuk mengelompokkan record,
hal ini merupakan suatu konsep
yang tidak ada dalam basis data relasional. Cara ini dapat
mengelompokkan semua record
pada jenis tertentu, atau
dengan nilai-nilai tertentu. Model
database ini menggunakan
segmen data untuk menyimpan isi record.
Segmen data mirip dengan file
physical cluster yang
menggunakan dua atau lebih file,
yaitu satu atau beberapa file
dengan ekstensi "oda"
(Orient Data)
dan hanya satu file dengan
ekstensi "odh"
(Orient data Holes).
Graph-oriented
Basis
data grafik adalah basis data yang menggunakan struktur grafik yang
berisi node,
edge,
dan properti untuk mewakili dan menyimpan informasi. Basis
data grafik diperlukan
untuk data grafik yang berskala besar. Basis
data grafik memetakan secara
langsung objek ke aplikasi dan lebih intuitif untuk menggambarkan
data set asosiatif.
Beberapa keuntungan dari basis
data grafik adalah
: Intuitive,
dimengerti oleh pikiran manusia, yaitu menggambarkan entitas dan
hubungan sebagai grafik masalah umum yang akrab dengan manusia;
Elemental untuk
ilmu komputer, yaitu grafik, terutama grafik pohon (seperti
binary-tree, B+ tree, red-black
tree) berfungsi sebagai
struktur data dasar dalam ilmu komputer dan berbagai masalah
(shortest path dan
max-flow)
dapat diubah dan diselesaikan dengan algoritma grafik; Ubiquitous,
yaitu pemodelan ER ke
model jejaring sosial selalu dikelilingi oleh grafik baik di komputer
ataupun dalam kenyataan.
Disusun Oleh :
Nama : Rizqi
Kukuh Pambudi
NPM : 59414741
Materi :
Pengertian Cloud Computing
Nama : Nawang
Widyastuti
NPM : 57414875
Materi :
Pengertian Grid Computing
Nama : Indra
Nugraha
NPM : 55414297
Materi :
Virtualisasi
Nama : Ahmad Hari
Ramadhan
NPM : 50414562
Materi
: Pengertian Distribusi Komputasi
Nama : Elfrida
Lestari Sinaga
NPM : 53414492
Materi : Map
Reduce & NoSQL
Nama : Biyanka
Pinasthi
NPM : 52414204
Materi : NoSQL & DatabaseReferensi :
- Febiani , Putri. Distributed Computation dalam Cloud Computing. Dikutip dari situs : http://putrifebiani.blogspot.co.id/2014/05/distributed-computation-dalam-cloud.html >. Diakses 13 Maret 2018.
- Hwang, Kai, Geoffrey C. Fox, dan Jack J. Dongara. Distributed and Cloud Computing From Parallel Processing to the Internet of Things. 225 Wyman Street, Waltham, MA 02451, USA.
- https://www.cse.wustl.edu/~jain/cse570-13/ftp/m_05srv.pdf
- http://cdn.ttgtmedia.com/searchServerVirtualization/downloads/Virtualization_FD_Chapter_1.pdf
- https://adhibarfan.wordpress.com/2016/04/21/pengantar-komputasi-cloud/
- Pahlevi, Said Mirza. Komputasi Grid dan Pararel. Dikutip dari situs : http://digilib.batan.go.id. 14 Maret 2018
- Rahayu,Nur Wijayaning. Arsitektur Grid Computing pada Oracle 10g. Dikutip dari situs : journal.uii.ac.id. 14 Maret 2018
- Yasa, Ghufran Ibnu. Keamanan pada Grid Computing. Dikutip dari situs : https://jurnal.ar-raniry.ac.id. 14 Maret 2018
- Ardi, Malvin. Pengertian, Manfaat, Jenis-Jenis dan Contoh Cloud Computing. Dikutip dari situs : https://bfl-definisi.blogspot.co.id/. 14 Maret 2018
- Gus, Wak. Cara Kerja dan Contoh Cloud Computing. Dikutip dari situs : http://pusatteknologi.com/. 14 Maret 2018‘
- https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&uact=8&ved=0ahUKEwijjJrl5ejZAhUETY8KHTcSCaUQFggtMAA&url=https%3A%2F%2Feniac2017.files.wordpress.com%2F2017%2F03%2Fdistributed-and-cloud-computing.pdf&usg=AOvVaw1ixRK7rjX3KzOzi3SH0TaR
- Pasma D, Aprian. 2015. “Cloud Computing, Grid Computing, Virtualisasi, dan NoSQL”. Tersedia : http://zumzeros.blogspot.co.id/2015/03/cloud-computing-grid-computing.html. Diakses : 14 Maret 2018.
- Febiani, Putri. 10 Mei 2015. “Map Reduce dan NoSQL”. Tersedia : http://putrifebiani.blogspot.co.id/2014/05/map-reduce-dan-nosql.html. Diakses : 14 Maret 2018.
- Firian, Audimas. 25 April 2017. “MapReduce”. Tersedia : http://layarinformatika.blogspot.co.id/2017/04/mapreduce.html. Diakses : 13 Maret 2018.
- http://www.christof-strauch.de/nosqldbs
- http://download.portalgaruda.org/article.php?article=113631&val=5187
- https://www.upwork.com/hiring/data/sql-vs-nosql-databases-whats-the-difference/
- https://blog.trifork.com/wp-content/uploads/2009/08/
- http://www.timestored.com/time-series-data/what-is-a-column-oriented-database
Komentar
Posting Komentar