Apa itu MongoDB?

MongoDB adalah database NoSQL open source—alias “Not only SQL”—yang jadi alternatif dari database relasional tradisional. NoSQL cocok banget buat ngelola data dalam jumlah besar dan tersebar. MongoDB sendiri fokus ke penyimpanan dan pengambilan data berbasis dokumen.
Database ini banyak dipakai untuk menyimpan data bervolume besar dengan performa cepat. Fitur utamanya: ad-hoc query, indexing, load balancing, agregasi data, eksekusi JavaScript di server, dan banyak lagi.

Kalau di SQL kita pakai schema dan tabel dengan struktur tetap, MongoDB pakai struktur ‘collections’ dan ‘documents’. Dokumen itu seperti unit data dasar—berisi pasangan key-value—dan kumpulan dokumen ini disimpan dalam collection. MongoDB support banyak bahasa pemrograman: C, C++, C#, Go, Java, Python, Ruby, Swift, dan lainnya.

Bagaimana cara kerja MongoDB?

Di MongoDB, setiap server punya database yang terdiri dari collections dan documents. Dokumen menyimpan data pengguna dalam bentuk field dan value, mirip JSON tapi pakai format BSON (Binary JSON) yang mendukung lebih banyak tipe data. Setiap dokumen punya primary key unik, dan kamu bisa menambah atau hapus field kapan pun.
Collection itu seperti tabel di SQL: sekumpulan dokumen dengan tema sama. Kamu bisa bikin banyak database, tiap database punya banyak collection.

Mongo shell adalah interface interaktif berbasis JavaScript untuk akses MongoDB: bisa dipakai untuk query, update, atau administrasi.

Fitur penting lainnya:

Penyimpanan dokumen pakai BSON.

Sharding otomatis untuk skalabilitas horizontal—artinya data bisa tersebar ke banyak server.

Arsitektur master–secondary, di mana primary menangani read/write dan secondary nge-replikasi untuk failover otomatis.

Mengapa MongoDB digunakan?

Organisasi memilih MongoDB karena beberapa alasan:

  • Penyimpanan besar: Mendukung data terstruktur atau tidak, bisa diskalakan baik vertikal maupun horizontal, dengan index untuk percepat pencarian.
  • Integrasi data: Pas untuk aplikasi hybrid dan multi-cloud.
  • Struktur data kompleks: Support dokumen bersarang, toleran terhadap variasi struktur.
  • Load balancing: Bisa dijalankan di banyak server sekaligus.

Fitur MongoDB

  • Replikasi: Replica set (primary + secondary) untuk ketersediaan tinggi; secondary jadi backup saat primary error.
  • Skalabilitas: Baik skala vertikal (upgrade server) maupun horizontal (add server).
  • Load balancing: Terintegrasi otomatis, tanpa perlu alat tambahan.
  • Schemaless: Tidak perlu blueprint data tetap—fleksibel banget.
  • Berbasis dokumen: Key-value memudahkan pemodelan data dinamis.

Keuntungan MongoDB

  • No schema: Data bisa apa saja—mudah dimodifikasi dan scalable.
  • Document-oriented: Mapping objek mirip struktur native bahasa pemrograman; join gak terlalu dibutuhkan.
  • Skalabilitas tinggi: Cocok untuk big data; sharding bantu distribusi data.
  • Support engine pihak ketiga: Bisa plug-in storage engine tambahan.
  • Agregasi built-in: Bisa jalanin MapReduce secara langsung, punya GridFS untuk file >16MB, dan bisa integrasi dengan Hadoop, Spark, dll.

Kekurangan MongoDB

  • Failover lambat: Master tunggal butuh waktu ~1 menit saat ganti primary (failover); Cassandra lebih cepat karena multi-master.
  • Limit write: Semua write lewat master—bisa jadi bottleneck jika volumetrik besar.
  • Konsistensi data: Tidak punya foreign-key—integritas referensial sedikit kurang kuat.
  • Keamanan: Otentikasi gak aktif default; pernah banyak serangan karena database terbuka—sekarang versi terbaru sudah block koneksi publik otomatis.

MongoDB vs RDBMS

Bedanya: – RDBMS pakai tabel & relasi, SQL; MongoDB pakai dokumen & collections, NoSQL. – MongoDB lebih cocok untuk struktur data hierarki. – RDBMS lebih kuat soal integritas karena foreign-key.

Platform MongoDB

Ada dua versi: – Community Edition (open source). – Enterprise Server: tambahan keamanan, engine in-memory, autentikasi lanjutan, monitoring via Ops Manager.
Ada juga GUI resmi: MongoDB Compass—untuk visual data, query, index, dll.
MongoDB Connector for BI memungkinkan integrasi BI dengan SQL query.
Selain itu, ada MongoDB Atlas (cloud service di AWS/Azure/GCP) dan Stitch (platform dev untuk Atlas).

MongoDB 4.0 (2018) sudah support transaksi multi-dokumen dengan ACID properties—jadi aman untuk workload transaksional.

Sejarah MongoDB

Kreasi dari Dwight Merriman & Eliot Horowitz—dulu bekerja di DoubleClick—karena masalah skalabilitas di RDBMS saat develop aplikasi web. Nama “Mongo” berasal dari “humongous” (besar banget).
Dikembangkan oleh 10Gen Inc. (2007), berganti nama jadi MongoDB Inc. (2013), dan IPO di 2017 dengan ticker MDB.
MongoDB resmi open source sejak 2009 dan sudah banyak update.

Pengguna besar seperti MetLife, Craigslist, CERN, dan The New York Times juga pakai MongoDB.

Pelajari lebih lanjut soal keamanan dan insiden serangan ke database tak-terlindungi seperti MongoDB.

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *