Mongo DB
MongoDB
MongoDB merupakan salah satu 7 database NoSQL yang popular. MongoDB
merupakan basis data NoSQL document based.
Aplikasi ini menyimpan data dalam suatu dokumen JSON yang disebut BSON (Binary JSON). MongoDB merupakan salah
satu database NoSQL yang Open Source (Source kodenya dibebaskan/diberikan
kepada para programmer untuk dilakukan pengembangan), sama seperti Android. MongoDB
sering digunakan untuk aplikasi berbasis Grid Computing, Cloud atau Big Data.
Berikut perbandingan beberapa
istilah dari RDBMS dan istilah pada MongoDB, yaitu:
RDBMS
|
MongoDB
|
Database
|
Database
|
Table
|
Collection
|
Row
|
Document atau BSOM Document
|
Kolom
|
Field
|
Index
|
Index
|
Table Join
|
Embedded Document dan Link
|
Primary Key
|
Primary Key
|
Implementasi Primary Key dalam
MongoDB cukup berbeda, karena primay key pada MongoDB akan disimpan secara
otomatis dalam field _id. MongoDB ini telah digunakan oleh banyak perusahaan,
seperti SourceForge.net, CodeAcademy, FourSquare dan Craiglist.
File installer untuk MongoDB
sendiri telah disediakan untuk platform Windows, MacOS dan Linux. MongoDB tersedia dalam versi komunitas dan
komersial melalui vendor MongoDB Inc. MongoDB Community Edition adalah rilis
open source, sementara MongoDB Enterprise Server menghadirkan fitur keamanan
tambahan, mesin penyimpanan dalam memori, fitur administrasi dan otentikasi,
dan kemampuan pemantauan melalui Ops Manager. File tersebut dapat di download
pada situs http://www.mongodb.org/downloads.
Bagaimana MongoDB bekerja?
Record dalam MongoDB adalah
dokumen, yang merupakan struktur data yang terdiri dari pasangan bidang dan
nilai. Dokumen MongoDB mirip dengan Notasi Objek JavaScript tetapi menggunakan
varian yang disebut Binary JSON (BSON) yang mengakomodasi lebih banyak tipe
data. Bidang dalam dokumen mirip dengan kolom dalam database relasional, dan
nilai-nilai yang dikandungnya bisa beragam tipe data, termasuk dokumen lain,
array dan array dokumen, menurut manual pengguna MongoDB.
Dokumen, yang juga harus
memasukkan primary key sebagai pengidentifikasi unik, adalah unit dasar data
dalam MongoDB. Collections berisi kumpulan dokumen dan fungsi sebagai setara
dengan tabel basis data relasional. Collections dapat berisi semua jenis data,
tetapi batasannya adalah data dalam collections tidak dapat tersebar di
berbagai basis data.
Mongo shell adalah antarmuka
JavaScript interaktif ke MongoDB yang memungkinkan pengguna untuk melakukan
query dan update data, dan melakukan operasi administratif. Shell adalah
komponen standar dari distribusi open source dari MongoDB. Setelah MongoDB
diinstal, pengguna menghubungkan mongo shell ke instance MongoDB mereka yang
sedang berjalan.
Penyimpanan dokumen BSON dan
format pertukaran data yang digunakan dalam MongoDB menyediakan representasi biner
dari dokumen yang mirip JSON. Sharding otomatis adalah fitur kunci lain yang
memungkinkan data dalam koleksi MongoDB untuk didistribusikan di berbagai
sistem untuk skalabilitas horizontal karena volume data dan persyaratan
throughput meningkat.
DBMS NoSQL menggunakan arsitektur
master tunggal untuk konsistensi data, dengan basis data sekunder yang
memelihara salinan basis data primer. Operasi secara otomatis direplikasi ke
database sekunder tersebut untuk failover otomatis.
Pros dan Cons MongoDB
Seperti database NoSQL lainnya,
MongoDB tidak memerlukan skema yang telah ditentukan dan menyimpan semua jenis
data. Ini memberikan pengguna fleksibilitas untuk membuat sejumlah bidang dalam
dokumen, sehingga memudahkan untuk skala database MongoDB dibandingkan dengan
database relasional.
Salah satu keuntungan menggunakan
dokumen adalah bahwa objek ini dipetakan ke tipe data asli dalam sejumlah
bahasa pemrograman. Juga, memiliki dokumen yang disematkan mengurangi kebutuhan
akan penggabungan basis data, yang dapat mengurangi biaya. Fungsi inti dari
MongoDB adalah skalabilitas horizontalnya, yang menjadikannya basis data yang
berguna bagi perusahaan yang menjalankan aplikasi big data. Selain itu,
sharding memungkinkan database untuk mendistribusikan data melalui sekelompok
mesin. Versi MongoDB yang lebih baru juga mendukung pembuatan zona data
berdasarkan pada shard key.
MongoDB mendukung sejumlah mesin
penyimpanan dan menyediakan API mesin penyimpanan yang memungkinkan para pihak
ketiga untuk mengembangkan mesin penyimpanan mereka sendiri untuk MongoDB.
DBMS juga memiliki kapabilitas
agregasi bawaan, yang memungkinkan pengguna untuk menjalankan kode MapReduce
langsung pada database, daripada menjalankan MapReduce di Hadoop. MongoDB juga
menyertakan sistem file sendiri yang disebut GridFS, mirip dengan Hadoop
Distributed File System (HDFS), terutama untuk menyimpan file yang lebih besar
dari batas ukuran BSON yaitu 16 MB per dokumen. Kesamaan ini memungkinkan
MongoDB untuk digunakan sebagai pengganti Hadoop, meskipun perangkat lunak
database mengintegrasikan dengan Hadoop, Spark dan kerangka kerja pemrosesan
data lainnya.
Meskipun manfaatnya banyak, ada
beberapa kerugian untuk MongoDB. Dengan strategi failover otomatisnya, pengguna
mengatur hanya satu master node dalam gugus MongoDB. Jika master gagal, slave
node akan secara otomatis dikonversi ke master baru. Switch ini menjanjikan
kontinuitas, tetapi tidak instan – ini bisa memakan waktu hingga satu menit.
Sebagai perbandingan, basis data Cassandra NoSQL mendukung banyak master node
sehingga jika satu master down, yang lain siap untuk infrastruktur database
yang sangat tersedia.
Master node tunggal MongoDB juga
membatasi seberapa cepat data dapat ditulis ke database. Menulis data harus
direkam pada master dan menulis informasi baru ke database dibatasi oleh
kapasitas node master.
Masalah potensial lainnya adalah
bahwa MongoDB tidak memberikan integritas referensial penuh melalui penggunaan
batasan kunci asing, yang dapat mempengaruhi konsistensi data. Selain itu,
otentikasi pengguna tidak diaktifkan secara default di database MongoDB,
anggukan popularitas teknologi dengan pengembang. Namun, peretas jahat telah
menargetkan sejumlah besar sistem MongoDB tanpa jaminan dalam serangan
ransomware, yang mengarah pada penambahan pengaturan default yang memblokir
koneksi jaringan ke database jika belum dikonfigurasi oleh administrator
database.
Sumber :
Anonim. 2019. MongoDB. https://www.beritabebas.com/definisi/mongodb/.
Diakses pada 4 Januari 2020.
Riyandi , Mhd. Adhitiya Okta.
2019. MongoDB -Pengenalan NoSQL dan
MongoDB. http://lea.si.fti.unand.ac.id/2017/04/mongodb-pengenalan-nosql-dan-mongodb/.
Diakses pada 4 Januari 2020.
Santoso, Bagus Aji. 2015. 7 Basis Data NoSQL Populer. https://www.codepolitan.com/7-basis-data-nosql-populer.
Diakses pada 4 Januari 2020.
Comments
Post a Comment