Skip to main content

Terminologi Yang biasa digunakan dalam operasional MongoDB

Jika pada artikel sebelumnya di https://undebugable.blogspot.com/2024/11/pengenalan-mongodb-sekilas-info.html kita membahas terkait instalasi MongoDB dan Mongo Express dengan menggunakan Docker, baik via Desktop dan Terminal, sekarang untuk memudahkan proses belajar mari kita pahami beberapa terminologi umu yang biasa di gunakan dalam penggunaan Database MongoDB ini.



Membuat kamus terminologi adalah langkah yang sangat baik untuk memahami konsep-konsep penting di MongoDB. Berikut adalah beberapa istilah dasar yang bisa menjadi awal untuk kamus MongoDB Anda:

Istilah Umum

  1. Document
    Unit dasar data di MongoDB, disimpan dalam format JSON atau BSON. Setiap document mirip dengan baris pada relational database tetapi lebih fleksibel karena dapat memiliki struktur yang berbeda-beda.

  2. Collection
    Kumpulan dokumen yang disimpan bersama dalam satu unit, mirip dengan tabel dalam relational database. Namun, collection tidak perlu memiliki skema yang tetap.

  3. Database
    Tempat penyimpanan beberapa collection yang saling berhubungan dalam MongoDB. Satu MongoDB dapat memiliki banyak database untuk berbagai aplikasi.

  4. Replica Set
    Mekanisme replication di MongoDB, yang memungkinkan data disalin ke beberapa server. Biasanya terdiri dari satu primary server yang menerima semua penulisan dan beberapa secondary server untuk backup dan ketersediaan data.

  5. Sharding
    Teknik pemisahan data menjadi beberapa bagian (shards) agar dapat tersebar di beberapa server, berguna untuk skala data yang besar. Setiap shard menyimpan sebagian data, memungkinkan distribusi beban dan peningkatan kinerja.

  6. Index
    Struktur data yang mempercepat pencarian dalam collection. Mirip dengan indeks dalam relational database, MongoDB juga memungkinkan pembuatan berbagai tipe indeks sesuai kebutuhan pencarian.

  7. Aggregation
    Proses pengolahan data yang memungkinkan kita menjalankan perhitungan dan transformasi data di dalam MongoDB, mirip dengan SQL GROUP BY. MongoDB memiliki aggregation pipeline untuk memproses data secara bertahap.

  8. Mongo Shell
    Antarmuka baris perintah untuk berinteraksi dengan MongoDB. Digunakan untuk menjalankan perintah, mengelola data, dan menjalankan berbagai operasi administratif.

  9. Atlas
    Layanan cloud dari MongoDB untuk menjalankan database MongoDB yang dikelola di cloud. Memudahkan penyetelan, konfigurasi, dan pengelolaan database tanpa perlu mengelola server sendiri.

  10. Query
    Perintah yang dijalankan untuk mengambil, memodifikasi, atau menghapus data dalam MongoDB. MongoDB memiliki perintah query yang unik, berbasis JSON.

  11. Schema
    Walaupun MongoDB adalah schemaless, istilah ini masih digunakan untuk merujuk pada struktur atau bentuk data dokumen dalam sebuah collection.

Istilah Terkait Skema Database

MongoDB, sebagai NoSQL database, memiliki pendekatan yang berbeda dalam menangani hubungan antar data dibandingkan dengan relational databases. Berikut adalah beberapa istilah yang berkaitan dengan pengelolaan relationship antar data di MongoDB:

  1. Embedded Document
    Teknik untuk menyimpan dokumen terkait di dalam dokumen induk. Ini mirip dengan nested objects dalam JSON. Embedded document digunakan untuk relasi satu-ke-satu atau satu-ke-banyak, terutama ketika data terkait sering diakses bersama. Misalnya, data alamat pelanggan bisa dimasukkan langsung di dalam dokumen pelanggan.

  2. Reference
    Teknik ini menyimpan relasi antar dokumen dengan menggunakan _id dokumen lain sebagai referensi. Pendekatan ini mirip dengan foreign key dalam relational database. Referencing berguna untuk relasi satu-ke-banyak atau banyak-ke-banyak ketika data terkait jarang diakses bersama. Contoh: koleksi orders bisa memiliki referensi ke koleksi customers.

  3. Denormalization
    Menggabungkan data dari beberapa sumber menjadi satu dokumen untuk mengurangi kompleksitas join dan mempercepat pengambilan data. Ini sering dilakukan dengan embedding dokumen terkait, yang umum dalam MongoDB untuk meningkatkan performa aplikasi.

  4. Normalization
    Kebalikan dari denormalization, ini adalah praktik memisahkan data ke dalam koleksi yang berbeda untuk menghindari pengulangan data. Normalization digunakan jika data terkait sering berubah atau digunakan oleh beberapa entitas lain. Namun, ini sering membutuhkan reference antar koleksi.

  5. One-to-One Relationship
    Hubungan di mana satu dokumen memiliki satu dokumen terkait. Di MongoDB, ini biasanya diimplementasikan dengan embedded documents jika data terkait tidak terlalu besar atau melalui referensi jika data terkait besar atau sering berubah.

  6. One-to-Many Relationship
    Hubungan di mana satu dokumen terkait dengan banyak dokumen lainnya. Di MongoDB, hubungan ini bisa diimplementasikan dengan embedding beberapa dokumen terkait di dalam dokumen induk atau dengan referencing jika jumlah data terkait sangat besar.

  7. Many-to-Many Relationship
    Hubungan di mana banyak dokumen dalam satu collection memiliki banyak dokumen terkait di collection lain. Di MongoDB, ini umumnya diimplementasikan dengan referencing atau menggunakan junction tables (lookup collections) untuk menyimpan referensi dua arah antar dokumen.

  8. DBRef
    Sebuah format standar untuk menyimpan referensi antar dokumen di MongoDB. DBRef memungkinkan pengguna membuat relasi referensi menggunakan objek BSON khusus. Namun, DBRef umumnya tidak digunakan dalam praktik karena lebih lambat dibandingkan dengan menyimpan _id dari dokumen terkait langsung.

  9. $lookup
    Operator aggregation pipeline yang memungkinkan penggabungan atau join data dari beberapa koleksi dalam satu hasil. $lookup memungkinkan MongoDB untuk melakukan operasi seperti join dalam relational databases, namun penggunaannya umumnya terbatas pada aggregation.

  10. $graphLookup
    Operator aggregation untuk melakukan pencarian data berbasis graf, yang memungkinkan MongoDB menjelajahi hubungan antar data dalam hirarki yang lebih kompleks. Cocok untuk aplikasi dengan struktur data yang berlapis atau saling berhubungan, seperti jaringan sosial atau pohon kategori.

  11. Array of References
    Array yang menyimpan beberapa _id referensi dokumen terkait. Ini berguna untuk menyimpan banyak referensi antar dokumen dalam satu atribut array, mempermudah akses ke relasi banyak-ke-banyak.

Istilah Terkait Error

Berikut adalah daftar istilah terkait error yang umum terjadi pada MongoDB beserta penjelasannya:

  1. Connection Timeout
    Kesalahan yang terjadi ketika MongoDB gagal menghubungkan klien dalam waktu yang ditentukan. Ini bisa disebabkan oleh masalah jaringan, konfigurasi server, atau masalah autentikasi. Timeout dapat disesuaikan dengan parameter koneksi.

  2. Duplicate Key Error
    Kesalahan yang muncul ketika MongoDB menemukan dokumen dengan nilai kunci unik yang sudah ada dalam koleksi. Ini sering terjadi pada kolom yang diindeks sebagai unik, misalnya _id atau bidang lainnya yang diberi unique constraint.

  3. Network Error
    Kesalahan koneksi jaringan yang dapat disebabkan oleh konfigurasi yang salah, pemadaman server, atau masalah koneksi antara klien dan server MongoDB. Kesalahan ini bisa berupa “Host Unreachable” atau “Network is unreachable”.

  4. Authentication Failed
    Terjadi ketika kredensial login (username/password) yang diberikan salah atau pengguna tidak memiliki izin untuk mengakses database tertentu. Error ini biasanya menunjukkan masalah dalam konfigurasi keamanan atau izin.

  5. Write Conflict
    MongoDB mendeteksi write conflict ketika dua operasi berusaha menulis ke dokumen yang sama secara bersamaan. Ini lebih umum pada sistem yang memiliki transaksi intensif atau dengan konfigurasi replica set.

  6. Memory Limit Exceeded
    Terjadi saat operasi MongoDB, terutama aggregation atau pemrosesan besar, membutuhkan lebih banyak memori daripada yang dialokasikan. Untuk operasi kompleks, MongoDB terkadang memerlukan konfigurasi memori tambahan atau penggunaan disk storage.

  7. Disk Space Full
    Kesalahan yang terjadi ketika MongoDB kehabisan ruang penyimpanan. Ini sering muncul pada database dengan volume data besar atau server yang tidak memadai. MongoDB membutuhkan ruang penyimpanan cukup untuk menjalankan operasionalnya.

  8. Shard Key Not Found
    Terjadi ketika MongoDB mencoba mengoperasikan data dalam koleksi yang dibagi shard namun tidak menemukan shard key. Kesalahan ini dapat disebabkan oleh konfigurasi shard key yang salah atau operasi pada dokumen tanpa shard key.

  9. Cursor Not Found
    Kesalahan ini terjadi ketika MongoDB tidak dapat menemukan cursor yang digunakan untuk mengakses data lebih lanjut dalam hasil query yang besar. Cursor bisa kedaluwarsa atau terputus, terutama jika ada jeda waktu antara pembacaan data.

  10. Failed to Parse
    Kesalahan yang terjadi ketika MongoDB gagal memproses sintaks atau perintah karena formatnya salah. Ini bisa disebabkan oleh struktur JSON yang tidak valid, tipe data yang tidak cocok, atau perintah yang salah dalam query.

  11. Exceeded Time Limit
    Kesalahan yang terjadi ketika query atau operasi tidak selesai dalam batas waktu yang ditetapkan. MongoDB memungkinkan pengaturan timeout untuk operasi yang berjalan lama, terutama dalam sistem dengan beban tinggi.

  12. Not Primary Error
    Muncul dalam replica set ketika write operation mencoba dilakukan pada secondary node atau ketika primary node berubah dan operasi masih diarahkan ke node lama. Hal ini dapat terjadi setelah failover dalam replica set.

  13. Read Concern Majority Not Satisfied
    Kesalahan ini muncul ketika MongoDB tidak dapat memenuhi read concern untuk memastikan data yang dibaca telah direplikasi di mayoritas replica set. Hal ini sering disebabkan oleh replica set yang sedang dalam proses sinkronisasi ulang.

  14. Command Not Found
    Kesalahan ini terjadi ketika perintah MongoDB yang diminta tidak tersedia di versi MongoDB yang sedang digunakan. Biasanya, ini terjadi ketika perintah yang hanya tersedia di versi terbaru dicoba pada versi MongoDB yang lebih lama.

  15. Unrecognized Option
    Terjadi ketika parameter atau opsi yang diberikan tidak dikenali oleh MongoDB. Hal ini biasanya muncul dalam konfigurasi atau saat menjalankan perintah dengan argumen yang salah atau tidak didukung di versi MongoDB tertentu.


Istilah-istilah diatas akan memberikan tambahan pengetahuan awal terkait MongoDB yang akan mempercepat proses belajar kedepannya.


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....