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

Popular posts from this blog

Tahapan Normalisasi dan Contoh Normalisasi pada perpustakaan

Analisis Perusahaan PT Kompas Media Nusantara dalam Standar Internasional Manajemen Pelayanan Teknologi Informasi

Hal lucu mengenai kartun Dora The Explorer