Senin, 12 Maret 2018

Pengantar Komputasi


Nama               : Basri Ananta
NPM                : 52414043
Kelas               : 4IA22

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


Contoh Grid Computing
     1. Scientific Simulation. Komputasi grid diimplementasikan di bidang fisika, kimia, dan biologi untuk melakukan simulasi terhadap proses yang kompleks.

   2. Medical Image. Penggunaan data grid dan komputasi grid untuk menyimpan medical-image. Contohnya adalah eDiaMoND project

     3. Computer-Aided Drug Discovery (CADD)Komputasi grid digunakan untuk membantu penemuan obat. Salah satu contohnya adalah: Molecular Modeling Laboratory (MML) di University of North Carolina (UNC).

     4. Big Science. Data grid dan komputasi grid digunakan untuk membantu proyek laboratorium yang disponsori oleh pemerintah Contohnya terdapat di DEISA.

    5. E-Learning. Komputasi grid membantu membangun infrastruktur untuk memenuhi kebutuhan dalam pertukaran informasi dibidang pendidikan. Contohnya adalah AccessGrid.

    6. Visualization. Komputasi grid digunakan untuk membantu proses visualisasi perhitungan yang rumit.

     7. Microprocessor design. Komputasi grid membantu untuk mengurangi microprocessor design cycle dan memudahkan design center untuk membagikan resource lebih efisien. Contohnya ada di Microprocessor Design Group at IBM Austin.

      Manfaat Komputasi Grid
     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
3.     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.
4.    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
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.

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.

Untuk mendukung implementasi virtualisasi server , CPU dari sebuah server harus mendukung teknologi virtualisasi, tetapi tidak usah kuatir karena hardware saat ini sudah mendukung teknologi virtualisasi bahkan untuk komputer biasa pun sudah mendukung teknologi virtualisasi.

Dalam teknologi virtualisasi sebuah server dipecah kedalam virtual environment dan setiap virtual environment dapat diinstall sistem operasi yang berbeda dari sistem operasi server fisik atau sistem operasi dari virtual environment lain nya. Ketika Virtual environment berjalan dia tidak tau tentang resource yang digunakan sehingga dalam teknologi virtualisasi diperlukan sebuah Hypervisor yang mengkoordinasi komunikasi dan instruksi antara virtual environment dengan resource fisik / psical resource. Hypervisor inilah yang dipegang oleh administrator dari sebuah server yang mengimplementasikan teknologi virtualisasi untuk mengatur virtual environment.

Ada 2 jenis Hypervisor dalam dunia virtualisasi saat ini :


     Hypervisor Type 1 (Bare Metal Hypervisor)
Dikatakan Bare Metal hypervisor karena hypervisor ini mengakses langsung hardaware fisik tanpa bantuan sistem operasi, dan biasnaya untuk menggunakan hypervisor type 1 kita harus menginstall hypervisor sebagai sistem operasi (Bukan diinstall dalam sistem operasi).Contoh  Hypervisor Type 1  diantaranya : KVM , Red hat Enterprise Virtualisation (RHEV),XEN/Citrix XenServer,Hyper-V,VMware vSphere/ESXi

      Hypervisor Type 2 (Hosted Hypervisor)
Jenis Hypervisor ini memerlukan sistem operasi untuk berjalan, karena jenis hyper visor ini berjalan diatas sistem operasi.Contoh Hypervisor Type 2 diantaranya : VMware Work station , VMware Player ,Virtual Box

Keuntungan Menggunakan teknologi Virtualisasi
1 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.

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

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

4  Instan Fail Over
Mayoritas Hypervisor telah mendukung clustering sehingga fail over bisa dilakukan secara instan dan otomatis

5  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

 6  Hemat Listrik dan Hardware
Akan sangat berbeda jika kita tidak menggunakan virtualisasi dimana kita menghidupkan banyak server yang masing-masing menggunakan daya sendiri , dengan virtualisasi cukup 1 server besar dan penggunaan resource bisa disesuaikan dengan kebutuhan. Jika Resource kurang tidak perlu beli server baru cukup Upgrade part yang perlu diupgrade saja (misal RAM,CPU,Storage)

7  Memperpanjang masa hidup aplikasi jadul
Ketika aplikasi jadul sudah tidak bisa berjalan di modern OS saat ini (Misalnya aplikasi DOS) dengan teknologi virtual kita bisa menjalankan aplikasi jadul tersebut diplatform manapun dengan menggunakan virtualisasi desktop atau virtualisasi aplikasi.

8  Backup dan Recovery Mudah
Hypervisor menyediakan auto backup untuk setiap container /VE sehingga jika terjadi kerusakan kita bisa merestore backup tersebut ke virtual server yang telah disediakan tanpa harus memakan waktu yang lama, Berbeda sekali jika kita menginstall server pada server fisik yang akan memakan waktu lama untuk mengkonfigurasi ulang jika terjadi kerusakan

9 Lebih aman
Jika terjadi kasus server di hack dan data penting dalam server di hapus /dirusak  maka dengan mudah kita untuk mengembalikan nya dengan fasilitas backup-restore. walau hacker telah masuk kedalam sistem tetapi hacker tidak bisa menembus ke resource fisik dari server yang kita kelola maka dengan mudah kita untuk menghapus backdoor dan malware yang ditinggalkannya, ini akan berbeda jika tidak menggunakan virtualisasi ketika server dijebol hacker maka hacker 100% telah menguasai server fisik kita dan akan sangat repot untuk membersihkan nya.


KOMPUTASI DISTRIBUSI DALAM CLOUD COMPUTING
Cloud computing itu terdiri dari 2 kata, yaitu cloud dan computing. Secara harfiah cloud adalah awan, sedangkan computing itu adalah komputasi Untuk makna dari ‘cloud computing’ itu sendiri artinya adalah penggunaan sumber daya komputasi (hardware dan software) yang diwujudkan dalam bentuk layanan yang bisa diakses melalui jaringan (biasanya internet). Asal kata cloud atau awan ini adalah penggambaran dari internet.

Cloud computing menyediakan sebuah layanan dimana informasinya disimpan di server secara permanen dan disimpan di computer client secara temporary. E mail service, facebook, google adalah beberapa contoh penggunaan cloud computing. Di dalam cloud computing dikenal istilah front-end (desktop-PC) dan back-end(server) yang dimana harus saling terhubung di dalam sebuah jaringan internet. Front-end bertugas dalam pengambilan data dan menjalankan aplikasi dari back-end sedangkan Back-end bertugas sebagai sumber yang diistilahkan dengan cloud.

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.

Menurut sebuah makalah tahun 2008 yang dipublikasi IEEE Internet Computing “Cloud Computing adalah suatu paradigma di mana informasi secara permanen tersimpan di server di internet dan tersimpan secara sementara di komputer pengguna (client) termasuk di dalamnya adalah desktop, komputer tablet, notebook, komputer tembok, handheld, sensor-sensor, monitor dan lain-lain.”

Komponen dasar Cloud computing Clients adalah seperangkat komputer / software yang didesain secara khusus untuk penggunaan layanan berbasis cloud computing. Contoh: Mobile, Windows Mobile, Symbian, Thin Client, Windows Terminal Service, CherryPal, Thick Client & Internet Explorer, FireFox, Chrome

Data center adalah tempat disimpannya server-server. Dapat berupa ruang besar bawah tanah atau gedung besar kosong. Namun, pada perkembanganselanjutnya telah dikembangkan Virtuallizing server, dimana software yang telah di-install disertai beberapa virtual server untuk digunakan. Dengan demikian, beberapa virtual server menggunakan 1 server secara fisik. Cloud computing menyediakan perangkat lunak sebagai layanan ―cadangan untuk pengguna terakhir, tapi infrastruktur yang mendasari harus cukup terukur dan kuat serta harus fokus pada sistem Cloud perusahaan skala besar dan meneliti bagaimana perusahaan dapat menggunakan service-oriented architecture (SOA) untuk menyediakan antarmuka yang efisien untuk proses bisnis. 

Untuk meningkatkan proses bisnis, masing-masing tingkatan SOA biasanya menyebarkan beberapa server untuk muatan distribusi dan toleransi kesalahan. Salah satu keterbatasan dari pendekatan ini adalah beban yang tidak dapat didistribusikan lebih lanjut saat semua server pada tingkatan /jajaran yang sama dimuat. Cloud computing terlihat untuk perhitungan dan penyimpanan data menjauh dari end user dan ke server yang berlokasi di pusat data, dengan demikian mengurangi beban pengguna dari penyedian aplikasi dan manajemen. Dalam sistem cloud enterprise, arsitektur berorientasi layanan (SOA) dapat digunakan untuk menyediakan antarmuka yang mendasari proses bisnis, yang ditawarkan melalui awan (cloud). SOA dapat bertindak sebagai sebuah front-end terprogram ke berbagai komponen layanan yang dibedakan sebagai individu dan pendukung server. Permintaan yang masuk ke layanan yang disediakan oleh gabungan SOA harus diteruskan ke komponen yang benar dan server masing-masing, dan seperti routing harus terukur untuk mendukung sejumlah besar permintaan. Dalam rangka untuk meningkatkan proses bisnis, setiap tingkatan dalam sistem biasanya menyebarkan beberapa server untuk mendistribusikan beban dan toleransi kesalahan.


MAPREDUCE & NO SQL
MapReduce merupakan sebuah konsep dimana data yang kontinue dipecah menjadi bagian data / komponen data kecil dan didistribusikan melalui mesin-mesin yang terhubung secara cluster. Bisa dibilang map reduce merupakan sebuah framework yang digunakan untuk mempercepat proses pengolahan data pada konsep cloud computing. Dalam memproses data, MapReduce dibagi menjadi 2 proses utama, yaitu Map dan Reduce. Proses Map bertugas utnuk mengumpulkan informasi dari potongan-potongan data yang terditribusi dalam tiap komputer dalam cluster (kelompok komputer yang saling terhubung). Hasilnya deserahkan kepada proses Reduce untuk diproses lebih lanjut. Hasil proses Reduce merupakan hasil akhir yang dikirim ke pengguna.

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.

Desain dan Struktur MapReduce
Dari definisinya, MapReduce mungkin terkesan sangat ribet. Untuk memproses sebuah data raksasa, data itu harus dipotong-potong kemudian dibagi-bagikan ke tiap komputer dalam suatu cluster. Lalu proses Map dan proses Reduce pun harus dibagi-bagikan ke tiap komputer dan dijalankan secara paralel. Terus hasil akhirnya juga disimpan secara terdistribusi. Benar-benar terkesan merepotkan.

Beruntunglah, MapReduce telah didesain sangat sederhana alias simple. 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.




Program yang memuat kalkulasi yang akan dilakukan dalam proses Map disebut Fungsi Map, dan yang memuat kalkulasi yang akan dikerjakan oleh proses Reduce disebut Fungsi Reduce. Jadi, seorang programmer yang akan menjalankan MapReduce harus membuat program Fungsi Map dan Fungsi Reduce.

Fungsi Map bertugas untuk membaca input dalam bentuk pasangan Key/Value, lalu menghasilkan output berupa pasangan Key/Value juga. Pasangan Key/Value hasil fungsi Map ini disebut pasangan Key/Value intermediate. Kemudian, fungsi Reduce akan membaca pasangan Key/Value intermediate hasil fungsi Map, dan menggabungkan atau mengelompokkannya berdasarkan Key tersebut. Lain katanya, tiap Value yang memiliki Key yang sama akan digabungkan dalam satu kelompok. Fungsi Reduce juga menghasilkan output berupa pasangan Key/Value.

Pengertian 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 data dan 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 melarang bahasa 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 tupe.

Aoksiomatik dari  NoSQL

A. ASAM free
ACID singkatan Atomicity , Konsistensi , Isolasi dan Daya Tahan . Konsep ACID pada dasarnya berasal dari lingkungan SQL. Tapi dalam NoSQL tidak akan menggunakan konsep ACID karena fitur Konsistensi SQL. Dalam artikel ini akan melihat bagaimana konsep ACID menciptakan masalah untuk NoSQL . Seperti dalam lingkungan terdistribusi , data menyebar ke mesin yang berbeda , setiap mesin menyimpan data dan pemeliharaan diperlukan konsistensi. Misalnya, jika ada perubahan dalam satu tupple table maka perubahan yang diperlukan dalam setiap enggine dimana data tertentu berada.

B. BASE
BASE kebalikan dari ACID. database NoSQL dibagi antara jalan dari ACID ke BASIS . Fokus utama menuju belakang BASE adalah ketersediaan permanen. Misalnya, berpikir tentang database di bank, jika dua orang yang mengakses akun sama di kota yang berbeda maka perubahan data yang  diperlukan bukan hanya dalam waktu yang sama tetapi membutuhkan beberapa database real time juga. Perubahan harus sering dilakukan pada semua mesin . Beberapa contoh lebih banyak reservasi kereta api online, perdagangan buku online, dll.

C. CAP
CAP singkatan Konsistensi , Ketersediaan dan Partisi toleransi . CAP pada dasarnya adalah sebuah teorema yang mengikuti tiga prinsip.

( 1 ) Data yang ada pada semua mesin harus sama dalam segala hal dan perubahan data yang konsisten harus dilakukan pada semua mesin atau consistent data.
( 2 ) Data harus tersedia secara permanen dan harus diakses setiap waktu atau availability.
( 3 ) Selama kegagalan mesin atau kesalahan dalam mesin database yang akan bekerja dengan baik tanpa berhenti kerja atau partition

Pengelompokan database noSQL
Secara umum, database noSQL dibagi menurut format penyimpanan dokmentnya . Berikut ini adalah pengelompokan database noSQL berdasarkan model (penyimpanan) datanya:

  1. 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.
  2. 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.
  3. Key – Value,  contoh database jenis ini adalah Apache Cassandra.
  4. Object Database. Format database yang disimpan dalam object object, Object disini sama dengan pengertian object di Pemrograman beroreintasi object , Contoh databasenya adalah Db4o.
  5. Tipe lainnya adalah tabular, tuple store dan berbagai jenis lain yang tidak terlalu populer.


Kelebihan NoSQL di banding Relasional Database
  1.      NoSQL bisa menampung data yang terstruktur, semi terstruktur dan tidak terstuktur secara efesien dalam skala besar (big data/cloud).
  2.       Menggunakan OOP dalam pengaksesan atau manipulasi datanya.
  3.       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.
  4.      Autosharding, istilah sederhananya, jika database noSQL di jalankandi cluster server (multiple server) maka data akan tersebar secara otomatis dan merata keseluruh server.

Kekurangan dari database NoSQL sendiri , minimal bagi saya adalah Hostingnya mahal. beberapa layanan di luar negeri mencharge biaya 100-200USD untuk hosting database noSQL. Selain itu, saya belum pernah menemukan hosting Cpanel yang mendukung database MongoDB atau database noSQL lainnya.

Selain itu, 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.

Pengantar MongoDB



MongoDB adalah salah satu produk database noSQL  OPEN SOURCE yang menggunakan struktur data JSON untuk menyimpan datanya. MongoDB adalah salah satu database noSQL yang paling populer di internet. MongoDB sering dipakai untuk aplikasi berbasis Cloud, Grid Computing, atau Big Data.

Format Dokumen /Struktur data di MongoDB
















Sumber :
http://just-sharre.blogspot.co.id/2013/09/artikel-nosql.html

Tidak ada komentar:

Posting Komentar