STMIK AKAKOM YOGYAKARTA
Prodi Rekayasa Perangkat Lunak Aplikasi
NoSQL & MONGODB
1. Pengertian NoSQL
Database
NoSQL dibuat dengan tujuan khusus untuk model data spesifik dan memiliki skema
fleksibel untuk membuat aplikasi modern. Database NoSQL dikenal secara luas
karena kemudahan pengembangan, fungsionalitas, dan kinerja dalam berbagai
skala. Database NoSQL menggunakan berbagai model data, termasuk dokumen,
grafik, nilai kunci, dalam memori, dan pencarian. Halaman ini termasuk sumber
daya untuk membantu Anda memahami lebih baik database NoSQL dan mulai
menggunakannya.
2. Cara kerja Database (nonrelasional) NoSQL
Database
NoSQL menggunakan berbagai model data untuk mengakses dan mengelola data,
seperti dokumen, grafik, nilai kunci, dalam memori, dan pencarian. Jenis
database ini dioptimalkan secara khusus untuk aplikasi yang memerlukan volume
data besar, latensi rendah, dan model data fleksibel, yang dicapai dengan
mengurangi pembatasan konsistensi data dari database lainnya.
3. Kelebihan menggunakan Database
(nonrelasional) NoSQL
- Database NoSQL sangat cocok untuk digunakan dengan berbagai aplikasi modern seperti aplikasi seluler, web, dan gaming yang memerlukan database yang fleksibel, dapat diskalakan, berkinerja tinggi, dan memiliki fungsionalitas tinggi untuk memberikan pengalaman pengguna yang baik.
- Fleksibilitas: Database NoSQL umumnya menyediakan skema fleksibel yang memungkinkan pengembangan yang lebih cepat dan lebih berulang. Model data fleksibel membuat database NoSQL ideal untuk data yang semi terstruktur dan tidak terstruktur.
- Skalabilitas: Database NoSQL umumnya didesain untuk meningkatkan skala dengan menggunakan klaster perangkat keras yang terdistribusi alih-alih meningkatkan skala dengan menambah server yang mahal dan robust. Beberapa penyedia layanan cloud menangani aktivitas di balik operasi ini sebagai layanan yang dikelola sepenuhnya.
- Kinerja tinggi: Database NoSQL dioptimalkan untuk model data spesifik (seperti dokumen, nilai kunci, dan grafik) dan pola akses yang memberikan kinerja yang lebih tinggi dibandingkan jika Anda mencoba mendapatkan fungsionalitas yang mirip dengan database relasional.
- Fungsionalitas tinggi: Database NoSQL menyediakan API dan jenis data fungsional yang dibuat secara khusus untuk setiap model data yang sesuai.
Databese SQL (relasional) vs.
Database NoSQL (nonrelasional)
Selama
berpuluh tahun, model data utama yang digunakan untuk pengembangan aplikasi
adalah model data relasional yang digunakan oleh database relasional seperti
Oracle, DB2, SQL Server, MySQL, dan PostgreSQL. Hingga pada pertengahan hingga
akhir tahun 2000 model data lain mulai mendapatkan adopsi dan penggunaan yang
signifikan. Untuk membedakan dan mengategorikan kelas database dan model data
baru ini, istilah “NoSQL” diciptakan. Sering kali istilah “NoSQL” digunakan
secara bergantian dengan “nonrelasional.”
Meskipun
terdapat banyak jenis database NoSQL dengan fitur yang bervariasi, tabel
berikut menunjukkan beberapa perbedaan antara database SQL dan NoSQL.
Mulai menggunakan NoSQL
Database Relasional
|
Database NoSQL
|
|
Beban kerja yang
optimal
|
Database relasional didesain untuk
aplikasi transaksional dan aplikasi pemrosesan transaksi online (online
transaction processing, OLTP) yang sangat konsisten dan cocok digunakan untuk
pemrosesan analisis online (online analytical processing, OLAP).
|
Database nilai-kunci, dokumen, grafik,
dan dalam memori NoSQL didesain untuk OLTP untuk sejumlah pola akses data
yang menyertakan aplikasi latensi rendah. Database pencarian NoSQL didesain
untuk analisis data yang semi terstruktur.
|
Model
data
|
Model
relasional menormalkan data menjadi tabel yang terdiri dari baris dan kolom.
Skema secara ketat mendefinisikan tabel, baris, kolom, indeks, hubungan
antara tabel, dan elemen database lain. Database menegakkan integritas
referensial dalam hubungan antara tabel.
|
Database NoSQL menyediakan
berbagai model data, antara lain dokumen, grafik, nilai kunci, dalam memori,
dan pencarian.
|
Properti ACID
|
Database relasional
menyediakan properti atomicity, consistency, isolation, and durability
(ACID):
|
Database NoSQL sering kali melakukan
pertukaran dengan mengurangi beberapa properti ACID database relasional untuk
model data yang lebih fleksibel yang dapat dikembangkan secara horizontal.
Hal ini membuat database NoSQL menjadi pilihan yang luar biasa untuk kasus
penggunaan dengan throughput tinggi dan latensi rendah yang memerlukan
pengembangan skala secara horizontal melebihi batasan instans tunggal.
|
Performa
|
Kinerja umumnya tergantung pada
subsistem disk. Pengoptimalan kueri, indeks, dan struktur tabel sering kali
diperlukan untuk mencapai kinerja puncak.
|
Kinerja umumnya merupakan fungsi
dari ukuran klaster perangkat keras, latensi jaringan, dan aplikasi
panggilan.
|
Skala
|
Database relasional umumnya dapat
dikembangkan skalanya dengan meningkatkan kemampuan komputasi perangkat keras
atau mengembangkan skala dengan menambahkan replika untuk beban kerja
hanya-baca.
|
Database NoSQL umumnya dapat dipartisi
karena pola akses nilai-kunci dapat dikembangkan skalanya dengan menggunakan
arsitektur terdistribusi untuk meningkatkan throughput yang menyediakan
kinerja yang konsisten pada skala yang tidak terbatas.
|
API
|
Permintaan untuk menyimpan dan
mengambil data dikomunikasikan menggunakan kueri yang sesuai dengan bahasa
kueri terstruktur (SQL). Kueri ini diuraikan dan dijalankan oleh database
relasional.
|
API berbasis objek memungkinkan
pengembang aplikasi menyimpan dan mengambil struktur data dalam memori dengan
mudah. Kunci partisi mengizinkan aplikasi mencari pasangan nilai-kunci, set
kolom, atau dokumen semi terstruktur yang berisi objek dan atribut aplikasi
berseri.
|
4. MONGO DB
MongoDB merupakan salah satu database NoSQL yang Open Source (Source
kodenya dibebaskan/diberikan kepada para programmer untuk dilakukan
pengembangan), sama seperti Android. MongoDB menyimpan data dengan
struktur JSON. Data yang disimpan akan dimasukkan ke dalam document,
seperti yang telah disebutkan diatas. MongoDB sering digunakan untuk
aplikasi berbasis Grid Computing, Cloud atau Big Data.
MongoDB merupakan software open source yang dikembangkan oleh MongoDB
Inc. pada tahun 2009. MongoDB menjadi salah satu DBMS terpopuler untuk
mengelola database No-SQL. Software ini menggunakan struktur data JSON
dalam pengelolaan datanya. Kita dapat meggunakan versi terminal maupun
GUI.
Beberapa service yang ditawarkan pada MongoDB adalah fitur Agregasi.
Agregasi adalah proses pengelompokan data-data pada database mengikuti
parameter tertentu misalnya berdasarkan nama, umur, atau apapun bisa
dijadikan parameter. Proses Agregasi berguna untuk menyederhanakan
database.
Fitur lain yang ditawarkan adalah Replikasi. Replikasi merupakan proses
dimana kita menduplikat database kita ke server lain sehingga menambah
keamanan data. selain itu, replikasi juga mempermudah client untuk
mengelola data karena dapat diakses dalam beberapa server berbeda.
Fitur terakhir yang akan dibahas pada artikel ini adalah Sharding.
Sharding adalah prose untuk mendistribusikan data melalui satu atau
lebih database. ini digunakan untuk mendukung pendistribusian data
dengan set data yang besar sehingga lebih efisien.
Sekian artikel kali ini, semoga bermanfaat bagi para pembaca. untuk mendownload MongoDB bisa klik disini.

Tidak ada komentar:
Posting Komentar