Apa itu MongoDB? Architekstur, Fitur & Contoh

⚡ Ringkasan Cerdas

MongoDB adalah basis data NoSQL berorientasi dokumen yang digunakan untuk penyimpanan data bervolume tinggi, menggunakan koleksi dan dokumen sebagai pengganti tabel dan baris. Sumber daya ini menjelaskan MongoDB Fitur-fitur, contoh dokumen, komponen arsitektur utama, alasan untuk menggunakannya, pemodelan data, dan perbedaannya dengan basis data relasional.

  • 📄 Model Dokumen: Data disimpan sebagai dokumen key-value di dalam koleksi, bukan tabel.
  • 🧩 Skema Fleksibel: Kolom dibuat secara instan tanpa struktur yang telah ditentukan sebelumnya.
  • ️ Komponen Inti: _id, koleksi, dokumen, bidang, kursor, basis data, dan JSON.
  • ⚙️ Mengapa Menggunakannya: Kueri ad hoc, pengindeksan, replikasi, dan sharding untuk skalabilitas.
  • 🔄 Vs RDBMS: Koleksi menggantikan tabel dan dokumen yang disematkan menggantikan operasi join.

Apa itu MongoDB

Apa itu MongoDB?

MongoDB adalah database NoSQL berorientasi dokumen yang digunakan untuk penyimpanan data bervolume tinggi. Daripada menggunakan tabel dan baris seperti pada database relasional tradisional, MongoDB memanfaatkan koleksi dan dokumen. Dokumen terdiri dari pasangan nilai kunci yang merupakan unit dasar data MongoDBKoleksi berisi kumpulan dokumen dan fungsi, yang setara dengan tabel basis data relasional. MongoDB adalah database yang muncul sekitar pertengahan tahun 2000an.

MongoDB Fitur

  1. Setiap basis data berisi koleksi yang pada gilirannya berisi dokumen. Setiap dokumen dapat berbeda, dengan jumlah kolom yang bervariasi. Ukuran dan isi setiap dokumen dapat berbeda satu sama lain.
  2. Struktur dokumennya lebih sesuai dengan cara pengembang membangun kelas dan objeknya dalam bahasa pemrograman masing-masing. Pengembang sering mengatakan bahwa kelas mereka bukanlah baris dan kolom tetapi memiliki struktur yang jelas dengan pasangan nilai kunci.
  3. Baris (atau dokumen seperti yang dipanggil MongoDB) tidak perlu memiliki skema yang ditentukan sebelumnya. Sebaliknya, kolom-kolom tersebut dapat dibuat secara langsung.
  4. Model data tersedia di dalamnya MongoDB Memungkinkan Anda untuk merepresentasikan hubungan hierarkis, menyimpan array, dan menyimpan struktur yang lebih kompleks lainnya dengan lebih mudah.
  5. Skalabilitas - The MongoDB Lingkungan tersebut sangat mudah diskalakan. Perusahaan-perusahaan di seluruh dunia telah mendefinisikan klaster, dengan beberapa di antaranya menjalankan lebih dari 100 node dengan sekitar jutaan dokumen di dalam basis data.

MongoDB Example

Contoh di bawah ini menunjukkan bagaimana sebuah dokumen dapat dimodelkan MongoDB.

  1. Bidang _id ditambahkan oleh MongoDB untuk mengidentifikasi secara unik dokumen dalam koleksi.
  2. Yang dapat Anda perhatikan adalah bahwa Data Pesanan (OrderID, Produk, dan Kuantitas), yang dalam RDBMS biasanya disimpan dalam tabel terpisah, sebenarnya disimpan sebagai dokumen tertanam di dalam koleksi itu sendiri. MongoDBIni adalah salah satu perbedaan utama dalam cara data dimodelkan di MongoDB.

MongoDB Example

Komponen Utama dari MongoDB Architekstur

Di bawah ini adalah beberapa istilah umum yang digunakan dalam MongoDB:

  1. _Indo – Ini adalah bidang yang diperlukan di setiap bidang MongoDB dokumen. Bidang _id mewakili nilai unik di MongoDB dokumen. Bidang _id seperti kunci utama dokumen. Jika Anda membuat dokumen baru tanpa kolom _id, MongoDB akan secara otomatis membuat kolom tersebut. Jadi, misalnya, jika kita melihat contoh tabel pelanggan di atas, MongoDB akan menambahkan pengidentifikasi unik 24 digit ke setiap dokumen dalam koleksi.
_Pengenal ID Pelanggan Nama Pelanggan Id pemesanan
563479cc8a8a4246bd27d784 11 Guru99 111
563479cc7a8a4246bd47d784 22 Trevor Smith 222
563479cc9a8a4246bd57d784 33 Nicole 333
  1. Koleksi – Ini adalah sebuah grupping of MongoDB dokumen. Sebuah koleksi setara dengan tabel yang dibuat di RDBMS lain seperti Oracle atau MS SQL. Sebuah koleksi berada dalam satu basis data. Seperti yang terlihat dari pendahuluan, koleksi tidak memberlakukan struktur apa pun.
  2. Kursor – Ini adalah penunjuk ke kumpulan hasil kueri. Klien dapat mengulangi kursor untuk mengambil hasil.
  3. Basis Data – Ini adalah wadah untuk koleksi, seperti pada RDBMS di mana ini adalah wadah untuk tabel. Setiap basis data mendapatkan kumpulan file-nya sendiri pada sistem file. A MongoDB server dapat menyimpan banyak database.
  4. Dokumen – Sebuah rekor dalam a MongoDB Pada dasarnya, koleksi disebut dokumen. Dokumen tersebut, selanjutnya, akan terdiri dari nama-nama field dan nilainya.
  5. Bidang – Pasangan nama-nilai dalam sebuah dokumen. Sebuah dokumen memiliki nol atau lebih field. Field analog dengan kolom dalam basis data relasional. Diagram berikut menunjukkan contoh Field dengan pasangan kunci-nilai. Jadi dalam contoh di bawah ini, CustomerID dan 11 adalah salah satu pasangan kunci-nilai yang didefinisikan dalam dokumen.

Komponen Utama dari MongoDB Architekstur

  1. JSON – Ini dikenal sebagai JavaNaskah Notasi Objek. Ini adalah format teks biasa yang dapat dibaca manusia untuk mengekspresikan data terstruktur. JSON saat ini didukung di banyak bahasa pemrograman.

Sekadar catatan singkat tentang perbedaan utama antara bidang _id dan bidang koleksi normal. Bidang _id digunakan untuk mengidentifikasi secara unik dokumen dalam koleksi dan secara otomatis ditambahkan oleh MongoDB saat koleksi dibuat.

Mengapa Menggunakan MongoDB?

Berikut beberapa alasan mengapa seseorang harus mulai menggunakan MongoDB:

  1. Berorientasi pada dokumen - Sejak MongoDB adalah NoSQL tipe database, alih-alih memiliki data dalam format tipe relasional, ia menyimpan data dalam dokumen. Ini membuat MongoDB Sangat fleksibel dan mudah beradaptasi dengan situasi dan kebutuhan dunia bisnis nyata.
  2. Kueri ad hoc - MongoDB mendukung pencarian berdasarkan bidang, kueri rentang, dan pencarian ekspresi reguler. Kueri dapat dibuat untuk mengembalikan bidang tertentu dalam dokumen.
  3. Pengindeksan – Indeks dapat dibuat untuk meningkatkan kinerja pencarian di dalam MongoDB. Bidang apa pun di a MongoDB dokumen dapat diindeks.
  4. sahutan - MongoDB dapat memberikan ketersediaan tinggi dengan set replika. Satu set replika terdiri dari dua atau lebih MongoDB Setiap anggota set replika dapat berperan sebagai replika primer atau sekunder kapan saja. Replika primer adalah server utama yang berinteraksi dengan klien dan melakukan semua operasi baca/tulis. Replika sekunder menyimpan salinan data dari replika primer menggunakan replikasi bawaan. Ketika replika primer gagal, set replika secara otomatis beralih ke replika sekunder, dan kemudian replika sekunder tersebut menjadi server primer.
  5. Penyeimbang beban - MongoDB menggunakan konsep sharding untuk menskalakan secara horizontal dengan membagi data menjadi beberapa MongoDB contoh. MongoDB dapat berjalan di beberapa server, menyeimbangkan beban dan/atau menggandakan data untuk menjaga sistem tetap berjalan jika terjadi kegagalan perangkat keras.

Pemodelan Data di MongoDB

Seperti yang telah kita lihat dari bagian pendahuluan, data dalam MongoDB memiliki skema yang fleksibel. Berbeda dengan di SQL database, di mana Anda harus mendeklarasikan skema tabel sebelum memasukkan data, MongoDBKoleksi tidak menerapkan struktur dokumen. Fleksibilitas semacam inilah yang menjadikannya MongoDB sangat kuat.

Saat memodelkan data di MongoDB, ingatlah hal-hal berikut ini:

  1. Apa saja kebutuhan dari aplikasi tersebut? – Perhatikan kebutuhan bisnis aplikasi dan lihat data apa serta jenis data apa yang dibutuhkan untuk aplikasi tersebut. Berdasarkan hal ini, pastikan struktur dokumen ditentukan sesuai dengan kebutuhan.
  2. Apa saja pola pengambilan data? – Jika Anda memperkirakan penggunaan kueri yang intensif, pertimbangkan penggunaan indeks dalam model data Anda untuk meningkatkan efisiensi kueri.
  3. Apakah sering terjadi penyisipan, pembaruan, dan penghapusan data di dalam basis data? Pertimbangkan kembali penggunaan indeks atau terapkan sharding jika diperlukan dalam desain pemodelan data Anda untuk meningkatkan efisiensi keseluruhan. MongoDB lingkungan.

Perbedaan antara MongoDB & RDBMS

Di bawah ini adalah beberapa perbedaan istilah utama di antara keduanya MongoDB dan RDBMS:

RDBMS MongoDB Perbedaan
tabel Koleksi In RDBMS, tabel berisi kolom dan baris yang digunakan untuk menyimpan data, sedangkan pada MongoDB Struktur yang sama ini dikenal sebagai koleksi. Koleksi berisi dokumen yang pada gilirannya berisi field, yang pada gilirannya merupakan pasangan kunci-nilai.
Baris Dokumen Di RDBMS, baris mewakili satu item data terstruktur secara implisit dalam sebuah tabel. Di dalam MongoDB, data disimpan dalam dokumen.
Kolom Bidang Di RDBMS, kolom menunjukkan sekumpulan nilai data. Ini di MongoDB dikenal sebagai bidang.
Bergabung Dokumen yang disematkan Dalam RDBMS, data terkadang tersebar di berbagai tabel, dan untuk menampilkan tampilan lengkap semua data, terkadang dilakukan penggabungan (join) antar tabel untuk mendapatkan data. MongoDBData biasanya disimpan dalam satu koleksi, tetapi dipisahkan dengan menggunakan dokumen tersemat. Jadi tidak ada konsep penggabungan (join) di sini. MongoDB.

Selain perbedaan istilah, beberapa perbedaan lainnya ditunjukkan di bawah ini:

  1. Basis data relasional dikenal untuk menegakkan integritas data. Ini bukan persyaratan eksplisit dalam MongoDB.
  2. RDBMS mengharuskan data tersebut dinormalisasi Pertama, agar dapat mencegah data yatim piatu dan duplikat. Normalisasi data kemudian membutuhkan lebih banyak tabel, yang kemudian akan menghasilkan lebih banyak penggabungan tabel, sehingga membutuhkan lebih banyak kunci dan indeks. Seiring pertumbuhan basis data, kinerja dapat mulai menjadi masalah. Sekali lagi, ini bukan persyaratan eksplisit dalam MongoDB. MongoDB fleksibel dan tidak memerlukan data untuk dinormalisasi terlebih dahulu.

Pertanyaan Umum Demo Slot

MongoDB Atlas menyimpan sejumlah besar data tidak terstruktur dan semi-terstruktur, sehingga berguna untuk alur kerja AI dan ML. Dokumennya yang fleksibel menyimpan data pelatihan, kumpulan fitur, dan metadata model, dan Atlas menambahkan pencarian vektor untuk aplikasi AI.

Ya. MongoDB Atlas Vector Search memungkinkan Anda menyimpan dan melakukan kueri embedding vektor bersama dokumen Anda. Ini mendukung pencarian semantik, rekomendasi, dan pembuatan augmentasi pengambilan untuk aplikasi AI tanpa basis data vektor terpisah.

MongoDB Community Edition gratis dan bersifat open source. MongoDB juga menawarkan Atlas, layanan cloud terkelola dengan tingkatan gratis, dan Edisi Perusahaan dengan keamanan dan dukungan tingkat lanjut dengan biaya tertentu.

Banyak organisasi besar menggunakan MongoDB Untuk penyimpanan data bervolume tinggi dan fleksibel, termasuk perusahaan di bidang e-commerce, game, IoT, dan manajemen konten. Skalabilitasnya melalui sharding dan replikasi cocok untuk aplikasi dengan jutaan dokumen.

Ringkaslah postingan ini dengan: