MONGODB
|
|
|
|
MONGODB |
|
|
|
|
|
|
|
|
|
MongoDB adalah salah satu jenis database NoSQL (Not Only SQL) yang
dirancang untuk menyimpan data dalam bentuk dokumen JavaScript object
notation (JSON). Database ini terbilang cukup populer digunakan dalam
pengembanan website. Tidak heran, banyak perusahaan besar yang mengandalkan
MongoDB, seperti Google, Adobe, dan eBay. Lebih dari itu, MongoDB juga
dirancang untuk mengatasi beberapa masalah yang dihadapi oleh database
relasional tradisional, seperti skalabilitas horizontal, fleksibilitas
schema, dan kinerja yang lebih baik untuk aplikasi dengan volume data yang
besar dan kompleks. MongoDB menyimpan
data dalam dokumen yang dapat berisi berbagai jenis data seperti string,
angka, daftar, bahkan dokumen lain. Dokumen tersebut kemudian dikelompokkan
ke dalam koleksi, yang setara dengan tabel dalam database relasional
tradisional. Salah satu kelebihan
MongoDB adalah kemampuannya untuk skalabilitas horizontal, yang berarti dapat
dengan mudah menambahkan lebih banyak server untuk meningkatkan kinerja dan
kapasitas penyimpanan. Selain itu, MongoDB juga menyediakan berbagai fitur
untuk manajemen data seperti index, replikasi, dan sharding. |
|
|
|
|
|
|
A. |
|
|
Komponen penting dalam sistem database MongoDB |
|
|
|
·
|
Database yang merupakan wadah dengan struktur penyimpanan yang
disebut collection. |
|
|
|
·
|
Collection yang merupakan kumpulan informasi data yang berbentuk
dokumen. |
|
|
|
·
|
Document merupakan satuan unit terkecil dalam MongoDB. |
|
|
|
|
|
|
B. |
|
|
Cara
Kerja MongoDB |
|
|
|
|
MongoDB beroperasi menggunakan prinsip penyimpanan basis data dokumen
yang memanfaatkan format JSON untuk mengorganisasi data. Setiap dokumen
adalah unit data yang terorganisir dalam koleksi, mirip dengan tabel dalam
sistem basis data relasional. Struktur yang tidak ketat ini memungkinkan penyesuaian dinamis
terhadap data yang beragam. MongoDB juga mendukung berbagai fitur tingkat
lanjut seperti replikasi data dan shard untuk mendukung distribusi dan
ketersediaan data. Lingkungan MongoDB menyediakan server bagi pengguna untuk membuat basis data dengan MongoDB. MongoDB menyimpan data sebagai rekaman yang terdiri dari koleksi dan dokumen. Dokumen berisi data yang ingin disimpan pengguna dalam basis data
MongoDB. Dokumen terdiri dari pasangan bidang dan nilai. Dokumen merupakan
unit dasar data dalam MongoDB. Dokumen serupa dengan JavaScript Object
Notation (JSON) tetapi menggunakan varian yang disebut Binary JSON (BSON).
Manfaat menggunakan BSON adalah mengakomodasi lebih banyak tipe data. Bidang
dalam dokumen ini seperti kolom dalam basis data relasional. Nilai yang
terkandung dapat berupa berbagai tipe data, termasuk dokumen lain, array, dan
array dokumen, menurut panduan pengguna MongoDB. Dokumen juga akan
menyertakan kunci utama sebagai pengenal unik. Struktur dokumen diubah dengan
menambahkan atau menghapus bidang baru atau yang sudah ada. Kumpulan dokumen disebut koleksi, yang berfungsi sebagai padanan tabel basis data relasional. Koleksi dapat berisi semua jenis data, tetapi batasannya adalah data dalam koleksi tidak dapat disebarkan ke berbagai basis data. Pengguna MongoDB dapat membuat beberapa basis data dengan beberapa koleksi. Mongo shell merupakan komponen standar dari distribusi sumber terbuka
MongoDB. Setelah MongoDB terinstal, pengguna menghubungkan mongo shell ke
instans MongoDB yang sedang berjalan. Mongo shell berfungsi sebagai antarmuka
JavaScript interaktif ke MongoDB, yang memungkinkan pengguna untuk meminta
atau memperbarui data dan melakukan operasi administratif. Representasi biner dokumen mirip JSON disediakan oleh format penyimpanan dokumen dan pertukaran data BSON. Pemecahan otomatis adalah fitur utama lain yang memungkinkan data dalam koleksi MongoDB didistribusikan ke beberapa sistem untuk skalabilitas horizontal, seiring dengan peningkatan volume data dan persyaratan throughput. DBMS NoSQL menggunakan arsitektur master tunggal untuk konsistensi
data, dengan basis data sekunder yang menyimpan salinan basis data primer.
Operasi secara otomatis direplikasi ke basis data sekunder tersebut untuk
failover otomatis . |
|
|
|
|
|
|
C. |
|
|
Fungsi
MongoDB |
|
|
|
|
MongoDB menawarkan berbagai fungsi yang menunjang kinerjanya sebagai
sistem basis data modern. Berikut beberapa fungsi lain dari MongoDB yang
penting untuk diketahui: |
|
|
1. |
|
Penyimpanan data non-relasional |
|
|
|
|
MongoDB menyimpan data dalam format dokumen non-relasional yang
menjadikannya sangat fleksibel. Tidak ada batasan ketat terhadap skema dari
dokumen-dokumen ini, sehingga memungkinkan pengembangan aplikasi lebih gesit
dan adaptif terhadap perubahan data. |
|
|
2. |
|
Indexing |
|
|
|
|
MongoDB mendukung pembuatan indeks yang membantu mempercepat
pencarian data, mirip seperti indeks dalam buku. Indexing yang efektif di
MongoDB memungkinkan kamu mengakses data dengan cepat sehingga meningkatkan
efisiensi aplikasi yang menggunakan basis data ini. |
|
|
3. |
|
Aggregation framework |
|
|
|
|
MongoDB memiliki fitur aggregation pipeline yang memungkinkan
pengguna untuk melakukan operasi pemrosesan data, seperti filtering, sorting,
grouping, dan joining data, dengan cara yang efisien dan cepat. |
|
|
4. |
|
Manajemen data geospasial |
|
|
|
|
MongoDB memiliki dukungan bawaan untuk tipe data geospasial,
memungkinkan penyimpanan, pencarian, dan analisis data yang melibatkan
koordinat geografis, seperti pencarian lokasi terdekat (nearby). |
|
|
|
|
|
|
D. |
|
|
Fitur
MongoDB |
|
|
|
|
Fitur-fitur MongoDB meliputi berikut ini: |
|
|
1. |
|
Replikasi |
|
|
|
|
Set replika terdiri dari dua atau lebih instans MongoDB yang
digunakan untuk menyediakan ketersediaan tinggi. Set replika terdiri dari
server primer dan sekunder. Server MongoDB primer melakukan semua operasi
baca dan tulis, sementara replika sekunder menyimpan salinan data. Jika
replika primer gagal, replika sekunder kemudian digunakan. |
|
|
2. |
|
Skalabilitas |
|
|
|
|
MongoDB mendukung penskalaan vertikal dan horizontal. Penskalaan
vertikal bekerja dengan menambahkan lebih banyak daya ke mesin yang sudah
ada, sedangkan penskalaan horizontal bekerja dengan menambahkan lebih banyak
mesin ke sumber daya pengguna. |
|
|
3. |
|
Penyeimbangan beban |
|
|
|
|
MongoDB menangani penyeimbangan beban tanpa memerlukan penyeimbang
beban khusus yang terpisah, baik melalui penskalaan vertikal maupun
horizontal. |
|
|
4. |
|
Tanpa skema |
|
|
|
|
MongoDB adalah database tanpa skema, yang berarti database dapat
mengelola data tanpa memerlukan cetak biru. |
|
|
5. |
|
Dokumen. |
|
|
|
|
Data dalam MongoDB disimpan dalam dokumen dengan pasangan
kunci-nilai, bukan baris dan kolom, yang membuat data lebih fleksibel jika
dibandingkan dengan database SQL. |
|
|
|
|
|
|
E. |
|
|
Keuntungan
MongoDB |
|
|
|
|
MongoDB menawarkan beberapa manfaat potensial: |
|
|
1. |
|
Tanpa skema. |
|
|
|
|
Seperti basis data NoSQL lainnya, MongoDB tidak memerlukan skema yang telah ditetapkan sebelumnya . Ia menyimpan semua jenis data. Hal ini memberi pengguna fleksibilitas untuk membuat sejumlah kolom dalam dokumen, sehingga memudahkan penskalaan basis data MongoDB dibandingkan dengan basis data relasional. |
|
|
2. |
|
Berorientasi pada dokumen |
|
|
|
|
Berorientasi pada dokumen. Salah satu keuntungan menggunakan dokumen
adalah objek-objek ini dipetakan ke tipe data asli dalam beberapa bahasa
pemrograman. Memiliki dokumen yang disematkan juga mengurangi kebutuhan untuk
bergabung dengan basis data, yang dapat menurunkan biaya. |
|
|
3. |
|
Skalabilitas |
|
|
|
|
Fungsi inti MongoDB adalah skalabilitas horizontalnya, yang
menjadikannya basis data yang berguna bagi perusahaan yang menjalankan
aplikasi big data. Selain itu, sharding memungkinkan basis data
mendistribusikan data ke seluruh kluster mesin. MongoDB juga mendukung
pembuatan zona data berdasarkan kunci shard. |
|
|
4. |
|
Dukungan pihak ketiga |
|
|
|
|
MongoDB mendukung beberapa mesin penyimpanan dan menyediakan API
mesin penyimpanan yang dapat dicolokkan yang memungkinkan pihak ketiga
mengembangkan mesin penyimpanan mereka sendiri untuk MongoDB. |
|
|
5. |
|
Agregasi |
|
|
|
|
DBMS juga memiliki kemampuan agregasi bawaan , yang memungkinkan
pengguna menjalankan kode MapReduce langsung pada basis data daripada
menjalankan MapReduce pada Hadoop . MongoDB juga menyertakan sistem berkasnya
sendiri yang disebut GridFS, mirip dengan Hadoop Distributed File System .
Penggunaan sistem berkas ini terutama untuk menyimpan berkas yang lebih besar
dari batas ukuran BSON sebesar 16 MB per dokumen. Kesamaan ini memungkinkan
MongoDB digunakan sebagai pengganti Hadoop, meskipun perangkat lunak basis
data terintegrasi dengan Hadoop, Spark , dan kerangka kerja pemrosesan data
lainnya. |
|
|
|
|
|
|
F. |
|
|
Kekurangan
MongoDB |
|
|
|
|
Meskipun MongoDB memiliki beberapa manfaat berharga, ada juga
beberapa kelemahannya. |
|
|
1. |
|
Kontinuitas |
|
|
|
|
Dengan strategi failover otomatisnya, pengguna cukup menyiapkan satu
simpul master dalam kluster MongoDB. Jika simpul master gagal, simpul lain
akan otomatis beralih ke simpul master yang baru. Peralihan ini menjanjikan
kontinuitas, tetapi tidak instan -- bisa memakan waktu hingga satu menit.
Sebagai perbandingan, basis data Cassandra NoSQL mendukung beberapa simpul
master. Jika satu simpul master mati, simpul master lain siap sedia, sehingga
menciptakan infrastruktur basis data dengan ketersediaan tinggi. |
|
|
2. |
|
Batasan penulisan |
|
|
|
|
Node master tunggal MongoDB juga membatasi seberapa cepat data dapat
ditulis ke dalam basis data. Penulisan data harus dicatat pada node master,
dan penulisan informasi baru ke dalam basis data dibatasi oleh kapasitas node
master tersebut. |
|
|
3. |
|
Konsistensi data |
|
|
|
|
MongoDB tidak menyediakan integritas referensial penuh melalui
penggunaan batasan kunci asing, yang dapat memengaruhi konsistensi data. |
|
|
4. |
|
Keamanan |
|
|
|
|
Selain itu, autentikasi pengguna tidak diaktifkan secara default di
basis data MongoDB. Namun, peretas jahat telah menargetkan sejumlah besar
sistem MongoDB yang tidak aman dalam serangan, yang menyebabkan penambahan
pengaturan default yang memblokir koneksi jaringan ke basis data jika belum
dikonfigurasi oleh administrator basis data. |
|
|
|
|
|
|
G. |
|
|
Cara
Install MongoDB (Ubuntu & Windows) |
|
|
|
|
Untuk menginstall MongoDB pada perangkat Linux seperti Ubuntu, Anda
dapat mengunjungi panduan kami yang membahas cara install MongoDB di Ubuntu. |
|
|
|
|
Sementara itu, cara install MongoDB Windows adalah sebagai berikut: |
|
|
1. |
|
Buka halaman resmi MongoDB, lalu klik tombol Download. |
|
|
2. |
|
Silakan tunggu proses download MongoDB. Jika sudah, klik dua kali
file installer untuk memasangnya. |
|
|
3. |
|
Ikuti proses instalasi sistem database yang satu ini hingga tuntas. |
|
|
4. |
|
Jika sudah, silakan buka aplikasi Command Prompt yang terpasang di
komputer, lalu jalankan perintah yang ada. |
|
|
5. |
|
Setelah itu, lanjutkan dengan membuat service MongoDB. Caranya dengan
mengeksekusi command. |
|
|
6. |
|
Terakhir, silakan restart komputer Windows Anda untuk mulai
menjalankan MongoDB. |
|
|
|
|
|

Komentar
Posting Komentar