Arsitektur MongoDB: Struktur, Terminologi, Persyaratan & Manfaat
Diterbitkan: 2020-12-28Daftar 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.

