Arsitektur MongoDB: Struktur, Terminologi, Persyaratan & Manfaat

Diterbitkan: 2020-12-28

Daftar isi

Ringkasan

Tidak ada keraguan bahwa internet adalah tulang punggung ekonomi dunia modern. Saat ini, hampir 4,7 miliar orang di dunia menggunakan platform virtual setiap hari, menggunakan aplikasi berbasis Internet untuk berita, berbelanja pakaian, memesan makanan, mendengarkan musik, bepergian ke dan dari kantor, dan banyak lagi.

Dengan jumlah pengguna yang begitu besar membuat kontribusi digital setiap hari, tidak mengherankan bahwa sejumlah besar data tidak terstruktur dihasilkan di dunia maya setiap hari. Pelajari lebih lanjut tentang cakupan MongoDB di masa mendatang.

Hal ini memunculkan kebutuhan mendesak untuk paradigma database baru yang dapat menyimpan, melayani, dan mendukung aplikasi 'Big Data' (seperti yang kemudian dikenal) 24/7, tanpa mogok.

Masukkan NoSQL.

Bangkitnya Basis Data NoSQL

NoSQL, secara longgar dikenal sebagai "Not Only SQL," adalah alternatif untuk database SQL yang dibatasi oleh skema tabel tetapnya. Dengan menjadi sangat fleksibel, NoSQL mengatasi kelemahan struktural database SQL ini dan dilengkapi untuk menskalakan secara horizontal. Basis data NoSQL dirancang untuk meningkatkan produktivitas pengembang, mempersenjatai mereka dengan model data yang sederhana dan elegan untuk pemrosesan data yang kompleks dan operasi manajemen.

Secara umum, model penyimpanan data ini hadir dalam 4 jenis – Dokumen, Nilai Kunci, Kolom Lebar, dan Grafik. Kami akan fokus pada Database Dokumen dan arsitektur MongoDB di blog ini (basis data NoSQL terkemuka)

Struktur MongoDB

Sumber: dokumentasi MongoDB

Arsitektur MongoDB mengikuti model data yang fleksibel. Tidak seperti RDBMS, yang mengamanatkan deklarasi skema sebelum memasukkan data, MongoDB tidak menerapkan struktur dokumen tetap.

Terminologi

bidang

Pasangan kunci-nilai dalam dokumen, itu adalah pasangan dari kolom dalam database relasional

Dokumen

Ini setara dengan catatan di RDBMS

Koleksi

Sekelompok dokumen disebut koleksi. Ini analog dengan tabel RDBMS

Perbedaan Antara Arsitektur RDBMS dan MongoDB

bergabung

Di RDBMS, data dapat didistribusikan di antara beberapa tabel dan digabungkan untuk mengaksesnya dalam satu tampilan. Operasi GABUNG seperti itu tidak dimungkinkan di MongoDB. Sebagai gantinya, semua data disimpan dalam satu koleksi tetapi dapat dipisahkan melalui dokumen bersarang atau tertanam

Normalisasi

RDBMS menjamin normalisasi data untuk menghindari duplikasi dan catatan yatim piatu. Fleksibilitas MongoDB menghilangkan kebutuhan akan normalisasi

Struktur

RDBS banyak digunakan di sektor perbankan, di mana struktur database yang tepat diketahui secara apriori. MongoDB mendukung volume besar data tidak terstruktur dan dapat diperluas di seluruh aplikasi cloud, seluler, web, dan Big Data.

Kebutuhan dan Manfaat Arsitektur MongoDB

Arsitektur MongoDB dapat menangani perubahan struktural dengan cepat, yang merupakan kebutuhan saat ini. Ini sempurna untuk skenario ketika Anda tidak memiliki visibilitas pada struktur database Anda sebelumnya.

Berikut ini adalah beberapa manfaat utamanya

Berbasis dokumen

Dapat mengakomodasi perubahan aliran data secara dinamis, beradaptasi dengan perubahan kebutuhan bisnis secara real-time

Kueri ad hoc – Bahasa kueri canggih yang dapat mengembalikan bidang tertentu. Ini juga memungkinkan kemampuan pencarian yang sangat terperinci. (bidang-bijaksana, rentang-bijaksana, ekspresi umum, dan banyak lagi)

pengindeksan

Anda dapat mengindeks bidang apa pun dalam dokumen untuk mempercepat proses pengambilan data.

Sekarang mari kita menyelam jauh ke dalam arsitektur MongoDB .

Tetapi sebelum kita melakukannya, kita perlu memahami Teorema CAP.

Teorema CAP

CAP menunjukkan trifecta Konsistensi, Ketersediaan, dan Toleransi Partisi.

Mari Kita Lihat Apa Arti Setiap Istilah Dalam Konteks Ini

Konsistensi

Jika Anda menulis data ke dalam database terdistribusi, Anda harus dapat mengakses data yang sama dari node mana pun dalam sistem kapan pun. Ini tentang menjaga integritas data tertulis.

Ketersediaan

Ini tentang meminimalkan waktu henti sistem. Operasi baca/tulis harus terjadi pada mesin mana pun di cluster, tanpa gagal.

Toleransi Partisi Atau Toleransi Kesalahan

menunjukkan kemampuan sistem untuk tetap berfungsi dengan lancar bahkan dalam kasus partisi jaringan, yaitu, bagian yang berbeda dari cluster harus dapat berbicara satu sama lain dan menyinkronkan secara efektif.

Teorema CAP menyatakan bahwa sistem terdistribusi HARUS menjadi Partition Tolerant. Partisi jaringan apa pun tidak dapat membuat seluruh sistem mogok.

Dengan kata lain, Anda hanya dapat menjamin satu parameter dari 'Konsistensi' dan 'Ketersediaan' dalam sistem terdistribusi, yang lainnya adalah Toleransi Partisi.

Hal ini menimbulkan segitiga seperti ini:

Sumber: Data Science Pedia

MongoDB selalu memilih konsistensi daripada ketersediaan setiap kali ada partisi dalam sistem (CP). Ini memblokir semua operasi penulisan hingga dapat memastikan eksekusi yang akurat dari penulisan tersebut.

Arsitektur MongoDB

MongoDB menggunakan arsitektur master tunggal yang berarti ada mesin utama yang bertanggung jawab atas semua operasi penulisan sisi klien. Semua instance lain yang Anda tambahkan nanti ke cluster merupakan node sekunder, yang biasanya menangani semua operasi baca.

Ini pada dasarnya adalah salinan cadangan dari server utama sebagai failsafe terhadap crash utama.

Semua server ini dikelompokkan dalam Kumpulan Replika. Anda dapat memiliki beberapa Kumpulan Replika, masing-masing memiliki server primer dan sekundernya sendiri.

Sumber: Dokumentasi MongoDB

Jika primer mati, sistem memilih primer baru dari semua node sekunder. Tetapi ini terjadi secara sewenang-wenang, tergantung di mana ia mendapatkan respons ping tercepat dari seluruh sistem. Anda harus memiliki jumlah server ganjil di cluster Anda (minimal 3) sehingga primer dapat dipilih dengan mayoritas.

Jika Anda tidak ingin menghabiskan uang untuk tiga server, Anda dapat menunjuk simpul 'Arbiter' yang tugasnya hanya memberikan suara untuk memilih yang utama.

pecahan

Sharding di MongoDB memungkinkan Anda mendistribusikan Big Data Anda ke beberapa database.

Sumber: Dokumentasi MongoDB

Anda memiliki aplikasi yang memiliki jutaan pengguna. Sharding memungkinkan Anda mempartisi pengguna ini (berdasarkan indeks unik seperti ID Pengguna) ke dalam set replika yang berbeda. Menggunakan proses yang disebut mongoS, Server Aplikasi berbicara dengan Server Config (tepatnya 3) untuk memahami 'Pecahan' mana yang berisi data yang dicari. mongoS menjalankan proses Penyeimbang Beban di latar belakang untuk mendistribusikan beban secara otomatis (dalam hal ini, jumlah pengguna) secara merata di antara semua pecahan.

Kesimpulan

Jika Anda ingin mempelajari lebih lanjut tentang MongoDB dan operasi basis data, lihat ide proyek MongoDB. Anda dapat menjelajahi Diploma PG dalam Ilmu Data dari upGrad. Kursus 12 bulan yang dirancang untuk para profesional yang bekerja, Anda mendapatkan konseling karir dan peluang kerja yang komprehensif, bersama dengan Status Alumni IIIT Bangalore yang bergengsi.

Kami harap artikel ini membantu Anda memahami cara kerja Arsitektur MongoDB dan cara sistem beroperasi. Untuk mengetahui lebih lanjut, silakan lihat blog kami yang lain.

Pelajari Kursus Pengembangan Perangkat Lunak online dari Universitas top dunia. Dapatkan Program PG Eksekutif, Program Sertifikat Lanjutan, atau Program Magister untuk mempercepat karier Anda.

Tingkatkan Kemampuan Diri Anda & Bersiaplah untuk Masa Depan

Program Sertifikat Tingkat Lanjut dalam Data Besar dari IIIT Bangalore