Skip to main content

Pengenalan MongoDB : Sekilas Info, Instalasi dan Integrasi Pada Proyek Java Spring Boot

MongoDB adalah NoSQL database yang dirancang untuk menyimpan data dalam bentuk yang fleksibel, yaitu document-oriented database. Tidak seperti relational databases (seperti MySQL atau PostgreSQL) yang menyimpan data dalam tabel dengan baris dan kolom, MongoDB menyimpan data dalam bentuk document berbasis JSON (atau lebih spesifiknya BSON - Binary JSON). Setiap dokumen dapat memiliki struktur berbeda, yang memungkinkan fleksibilitas dalam menyimpan data beragam tanpa perlu mengikuti skema yang kaku.


Ilustrasi Docker Desktop GUI di Windows

Kegunaan MongoDB

MongoDB sering digunakan dalam aplikasi yang memerlukan skala besar, kecepatan tinggi, dan kemampuan untuk menangani data yang tidak terstruktur atau semi-terstruktur. Beberapa kegunaan utamanya meliputi:

  1. Aplikasi Web dan Mobile: Karena MongoDB dapat menyimpan data yang fleksibel, ia sering dipilih untuk aplikasi yang berkembang cepat, seperti media sosial, e-commerce, atau aplikasi game.
  2. Big Data dan Analitik: MongoDB mendukung penyimpanan data dalam volume besar dan menyediakan fungsi yang efisien untuk pengambilan data, analitik, dan integrasi dengan alat-alat Big Data.
  3. Content Management System (CMS): MongoDB mendukung penyimpanan dokumen dengan struktur yang berbeda-beda, membuatnya cocok untuk CMS dan platform manajemen konten.

Sejarah Awal MongoDB

MongoDB dikembangkan oleh perusahaan bernama 10gen (kemudian berganti nama menjadi MongoDB, Inc.) pada tahun 2007 dan dirilis secara umum pada tahun 2009. Awalnya, MongoDB diciptakan untuk memenuhi kebutuhan penyimpanan data yang tidak bisa diakomodasi oleh relational database. Nama “Mongo” diambil dari kata "humongous" yang berarti besar, karena salah satu fokus utamanya adalah menangani volume data yang besar dan beragam dengan kinerja tinggi.

MongoDB telah berkembang menjadi salah satu database NoSQL yang paling populer, didukung oleh ekosistem yang kuat dan komunitas yang luas.

Instalasi Dengan Docker Desktop (GUI)

MongoDB telah menjadi pilihan utama bagi banyak pengembang dan perusahaan karena fleksibilitas dan kemampuannya menangani data berukuran besar. Dalam artikel ini, kita akan mempelajari dasar-dasar MongoDB, termasuk sejarah, kegunaan, dan alasan mengapa database NoSQL ini begitu populer di kalangan pengembang aplikasi modern.

Untuk mempermudah Anda dalam memulai MongoDB, artikel ini akan menggunakan Docker Desktop sebagai lingkungan instalasinya. Saya memilih Docker Desktop karena kemudahan penggunaannya di berbagai sistem operasi, termasuk Windows dan macOS, serta dukungannya untuk pengaturan lingkungan kontainer dengan lebih cepat dan mudah. Dengan Docker Desktop, kita bisa menjalankan MongoDB tanpa perlu instalasi manual atau konfigurasi kompleks.

Anda dapat langsung mengunduh image MongoDB resmi dari Docker Hub di sini untuk memulai instalasi. Selain itu, panduan lebih lengkap untuk instalasi dan konfigurasi MongoDB dengan Docker tersedia di situs resmi MongoDB.

Pilih MongoDB official image 

MongoDB official image 

Note: Karena keperluan untuk adanya Mongo Express saya gunakan docker compose supaya simple, ikuti instruksi di bawah ini.

Instalasi Dengan Docker Compose (GUI)

Ilustrasi Docker Compose


Isi dari docker-compose.yml
version: '3.1'

services:
mongo:
image: mongo
container_name: mongodb
restart: always
ports:
- "27017:27017"
environment:
MONGO_INITDB_ROOT_USERNAME: root
MONGO_INITDB_ROOT_PASSWORD: example
volumes:
- mongo-data:/data/db # Menyimpan data secara persisten di volume

mongo-express:
image: mongo-express
container_name: mongo-express
restart: always
depends_on:
- mongo # Menunggu layanan mongo berjalan terlebih dahulu
ports:
- "8081:8081"
environment:
ME_CONFIG_MONGODB_ADMINUSERNAME: root
ME_CONFIG_MONGODB_ADMINPASSWORD: example
ME_CONFIG_MONGODB_URL: "mongodb://root:example@mongo:27017/"
ME_CONFIG_BASICAUTH: "true" # Mengaktifkan autentikasi untuk Mongo Express
ME_CONFIG_BASICAUTH_USERNAME: admin
ME_CONFIG_BASICAUTH_PASSWORD: admin123 # Atur username dan password untuk keamanan

volumes:
mongo-data:



Jalankan dengan docker-compose up

Docker Compose dengan "docker-compose up"

MongoDB Container hasil docker-compose.yml diatas sudah berjalan.

admin / admin123



Setelah selesai Mongo Express bisa diakses di localhost:8081

Setelah selesai Mongo Express bisa diakses di localhost:8081


Dengan pendekatan ini, Kita sudah siap menjalankan MongoDB di lingkungan pengembangan kita  hanya dalam beberapa langkah mudah!

Selanjutnya: 



Comments

Popular posts from this blog

Numpang Kerja Remote dari Bandung Creative Hub

Semalam kemarin (09 Januari 2019) tidak sengaja kami sekeluarga lewat Bandung Digital Hub saat pulang dari Fish Wow Cheeseee  yang di Jl. Lombok. Bandung Digital Hub ini sendiri berlokasi tidak jauh dari dari tempat kami makan tersebut, yaitu berlokasi di Jl. Laswi No.7, Kacapiring, Batununggal, Kota Bandung, Jawa Barat 40271. Berhubung untuk bulan Januari 2019 ini sedang tidak masuk ke kantor maka saya putuskan untuk besoknya (hari ini 09 Januari 2019) nyoba untuk bekerja remote dari Bandung Digital Hub , apalagi istri yang kebetulan follower pak Ridwan Kamil di Instagram juga Facebook dan tampaknya pernah lihat ulasan mengenai tempat ini sehingga tampak antusias supaya saya datang ketempat ini ini dan mencoba bekerja dari gedung creative hub dan coworking yang keren ini.  Tempat Parkir Masalah utama saat kita datang ke coworking space terutama yang berlokasi di Bandung (atau mungkin kota-kota lainnya) adalah lahan parkir, kadang lahan parkir ...

Numpang Kerja Remote dari Bandung Digital Valley

Satu lagi co-working place  gratisan dan keren yang cukup populer dikota Bandung, co-working place yang juga memberikan fasilitas tempat kerja (co-working place) dan fitur-fitur menarik lainnya,  co-working place keren  ini adalah Bandung Digital Valley atau yang sering disingkat BDV . C o-working place  Bandung Digital Valley ini  merupakan bagian dari Telkom , mulai aktif digunakan dari sekitar tahun 2012 lalu .  Tempat ini biasanya menjadi tempat favorit bagi para pengiat startup, freelancer, dan mahasiswa . Gedung BDV Gedung BDV Gedung BDV Co-working space Bandung Digital Valley ini sendiri berlokasi di Menara Bandung Digital Valley, Jl. Gegerkalong Hilir No.47, Sukarasa, Sukasari, Kota Bandung, Jawa Barat, detailnya bisa dilihat di Google map berikut. Pemandangan jalan setelah pintu satpam. Free Co-working Space Membership Untuk mulai menggunakan fasilitas co-working space ini secara gratis maka yang pe...

Membuat Authentikasi Berbasis Token pada Spring Boot dengan Spring Security dan JWT

Setelah beberapa kali mencari tutorial tentang otentikasi aplikasi web Spring Boot dengan menggunakan JWT yang mudah dipahami akhirnya saya menemukan artikel berbahasa Inggris tapi sangat mudah dipahami  dan diikuti, artikel tersbut berada disini , dengan judul " Spring Boot Token based Authentication with Spring Security & JWT ". Untuk memudahkan orang-orang yang terbiasa membaca artikel dalam bahasa indonesia (termasuk saya sendiri), artikel ini saya buat dan susun ulang (artikel aslinya tidak tertulis dengan runtut dan dapat membuat pemula bingung dengan berbagai error yang muncul) supaya lebih mudah untuk diikuti dan dapat di gunakan bersama. Applikasi yang akan kita buat adalah aplikasi web yang setiap endpoint-nya hanya bisa di akses oleh role tertentu. 1. Tools Yang Diperlukan IntelliJ Idea text editor. Spring Assistant Plugin. Postman. PostgreSQL + DBeaver. Min Java 8 Spring Boot 2.1.8 (dengan Spring Security, Spring Web, Spring Data JPA). jjwt 0.9.1. Maven 3.6.1....