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
- DocumentUnit 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.
- CollectionKumpulan dokumen yang disimpan bersama dalam satu unit, mirip dengan tabel dalam relational database. Namun, collection tidak perlu memiliki skema yang tetap.
- DatabaseTempat penyimpanan beberapa collection yang saling berhubungan dalam MongoDB. Satu MongoDB dapat memiliki banyak database untuk berbagai aplikasi.
- Replica SetMekanisme 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.
- ShardingTeknik 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.
- IndexStruktur data yang mempercepat pencarian dalam collection. Mirip dengan indeks dalam relational database, MongoDB juga memungkinkan pembuatan berbagai tipe indeks sesuai kebutuhan pencarian.
- AggregationProses 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.
- Mongo ShellAntarmuka baris perintah untuk berinteraksi dengan MongoDB. Digunakan untuk menjalankan perintah, mengelola data, dan menjalankan berbagai operasi administratif.
- AtlasLayanan cloud dari MongoDB untuk menjalankan database MongoDB yang dikelola di cloud. Memudahkan penyetelan, konfigurasi, dan pengelolaan database tanpa perlu mengelola server sendiri.
- QueryPerintah yang dijalankan untuk mengambil, memodifikasi, atau menghapus data dalam MongoDB. MongoDB memiliki perintah query yang unik, berbasis JSON.
- SchemaWalaupun 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:
- Embedded DocumentTeknik 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.
- ReferenceTeknik 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 koleksicustomers
. - DenormalizationMenggabungkan 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.
- NormalizationKebalikan 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.
- One-to-One RelationshipHubungan 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.
- One-to-Many RelationshipHubungan 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.
- Many-to-Many RelationshipHubungan 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.
- DBRefSebuah 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.
- $lookupOperator 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. - $graphLookupOperator 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.
- Array of ReferencesArray 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:
- Connection TimeoutKesalahan 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.
- Duplicate Key ErrorKesalahan 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. - Network ErrorKesalahan 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”.
- Authentication FailedTerjadi 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.
- Write ConflictMongoDB 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.
- Memory Limit ExceededTerjadi 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.
- Disk Space FullKesalahan 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.
- Shard Key Not FoundTerjadi 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.
- Cursor Not FoundKesalahan 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.
- Failed to ParseKesalahan 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.
- Exceeded Time LimitKesalahan 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.
- Not Primary ErrorMuncul 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.
- Read Concern Majority Not SatisfiedKesalahan 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.
- Command Not FoundKesalahan 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.
- Unrecognized OptionTerjadi 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.
Comments
Post a Comment