Skip to main content

MongoDB: Sejarah & Tinjauan Sekilas

MongoDB adalah sebuah database berbasis dokumen yang bersifat open source yang menawarkan performa dan availability yang tinggi. MongoDB sendiri pertama kali dikembangkan pada tahun 2007 oleh sebuah organisasi bernama 10gen. Pada saat itu, MongoDB dikembangkan sebagai platform as a service (PaaS). Kemudian, pada tahun 2009, MongoDB diperkenalkan kembali sebagai database server yang bersifat open – source yang dikelola dan didukung oleh MongoDB Inc.

Sebagai salah satu NoSQL database, MongoDB juga memiliki sifat yang dimiliki NoSQL seperti schema – less, dimana semua data dengan semua struktur dapat disimpan dengan bebas pada database ini. Dengan begitu, MongoDB cocok untuk menyimpan data dengan struktur yang bervariasi dari waktu ke waktu.

Struktur MongoDB

Dapat dilihat pada gambar di atas, bentuk atau struktur dari MongoDB terdiri dari 3 bagian, yaitu database, collection dan document. Pada MongoDB pengguna dapat menjalankan beberapa database sekaligus. Suatu database pada MongoDB dapat memiliki beberapa collection, sama seperti database pada MySQL yang dapat memiliki beberapa table. Pada setiap collection, terdapat document, dimana document – document tersebut berbentuk JSON dan berisi data yang ingin kita simpan, sedangkan pada MySQL, data yang ingin kita simpan akan digambarkan sebagai row. Dengan JSON – like document tersebut, pengembang dapat dengan mudah membaca, menyimpan dan mengirimkan data, dimana hampir semua pertukaran data pada internet saat ini mengunakan JSON sebagai format standard-nya.

Contoh Document Pada MongoDB

Dapat dilihat pada gambar di atas, data yang disimpan pada suatu document terdiri dari pasangan field dan value. Selain itu, value yang disimpan juga dapat menggunakan berbagai tipe data seperti integer, double, string, boolean, bahkan nested object dan array sekalipun, seperti contoh yang dapat dilihat pada gambar di atas. Dengan menggunakan nested object seperti contoh diatas, pengguna dapat memnbuat relasi yang kompleks dan menyimpannya menjadi 1 document yang sama sehingga dapat mempersingkat pengerjaan dan mempercepat pengambilan data dibandingkan relational database biasa.

Selain schema – less dan kemudahan dalam menyimpan data dengan bentuk JSON, MongoDB juga memiliki kelebihan lain yaitu pada ad – hoc query. MongoDB mendukung sorting dan pencarian berdasarkan field, query range dan regular expression (regex). Selain itu, MongoDB juga memiliki suatu fitur yang bernama aggregate.

Aggregate sendiri adalah operasi yang digunakan untuk memproses data dan mengembalikan hasil yang telah diproses. Pada dasarnya, aggregate mengelompokkan data dan melakukan berbagai operasi pada data tersebut. Ketika pengguna ingin menambahkan beberapa field pada suatu document hanya dengan menggunakan metode CRUD biasa, pengguna perlu menggunakan fungsi find({}) kemudian melakukan operasi penambahan field dengan membuat perulangan yang terpisah pada document yang didapat dari fungsi find({}). Hal tersebut cukup merepotkan bagi pengguna. Akan tetapi dengan menggunakan aggregate, pengguna dapat melakukan beberapa operasi query secara berurutan tanpa haru membuat perulangan yang terpisah.

--o0o--

Artikel terkait:

Comments

Popular posts from this blog

Pengertian Binding dalam Bahasa Pemrograman dan Kapan Terjadinya

Binding dimaksudkan sebagai pengikatan (association) antara suatu entity dengan atributnya, misalnya binding/pengikatan antara suatu variable dengan tipe datanya atau dengan nilainya, atau dapat juga antara suatu operasi dengan simbol, misalnya simbol + dikenali sebagai operasi penjumlahan atau simbol ^ dikenali sebagai operasi pangkat, dll.  Peristiwa binding dan kapan terjadinya binding (biasanya disebut dengan binding time ) berperan penting dalam membicarakan semantics suatu bahasa pemrograman. Beberapa kemungkinan binding time adalah:

Latihan Soal Jawab Matematika Diskrit

Berikut di bawah ini adalah latihan soal jawab untuk matematika diskrit dengan topik-topik: Pernyataan Logika Circuits dan Ekspresi Boolean Argumen (valid/tidak valid) Teori Himpunan Permutasi Fungsi --o0o-- Pernyataan Logika 1. Buatlah tabel kebenaran untuk menentukan yang mana tautology dan yang mana contradiction dalam pernyataan logika (a) dan (b) di bawah ini: a. (p ∧ q) ∨ (∼p ∨ (p ∧ ∼q)) b.  (p ∧ ∼q) ∧ (∼p ∨ q)

Contoh proses normalisasi relasi dari UNF – 1NF – 2NF – dan 3NF

Dalam posting tulisan tentang: “Tujuan dan Manfaat Normalisasi dalam Perancangan Database” , kita sudah mempelajari tentang: “Apa itu normalisasi” dan “Mengapa kita perlu melakukan normalisasi”. Kedua pertanyaan itu sudah terjawab dalam tulisan tersebut.  Kemudian dalam posting tulisan tentang: “Konsep Ketergantungan Fungsional, Normalisasi, dan Identifikasi Primary Key dalam Perancangan Sistem Database” , kita sudah mempelajari suatu konsep penting yang digunakan untuk melakukan normalisasi, yaitu konsep ketergantungan fungsional yang terdiri dari ketergantungan penuh, ketergantungan parsial atau sebagian, dan ketergantungan transitif. Proses normalisasi pertama-tama dilakukan dengan mengidentifikasi adanya ketergantungan-ketergantungan tersebut dalam relasi-relasi dan kemudian menghilangkannya. Cara melakukan normalisasi, mengidentifikasi berbagai macam ketergantungan, dan menghilangkan ketergantungan pada relasi-relasi bisa dipelajari ulang dalam postingan tulisan di at