Please enable JavaScript.
Coggle requires JavaScript to display documents.
MongoDB Data Modeling Intro - Coggle Diagram
MongoDB Data Modeling Intro
Introduction to data modeling
definisi
Pemodelan data adalah proses mendefinisikan bagaimana data disimpan dan hubungan yang ada di antara entitas yang berbeda dalam data.
tujuan
Tujuan dari pemodelan data yang baik adalah untuk membuat manajemen data lebih mudah, meningkatkan efisiensi kueri, menggunakan memori dan CPU secara efisien, dan bahkan mengurangi biaya.
pemodelan data mongoDB
MongoDB menerapkan model data dokumen yang fleksibel, di mana koleksi tidak menerapkan struktur dokumen apa pun secara default.
polimorfisme dokumen
Dalam MongoDB, dokumen dapat memiliki struktur yang berbeda-beda, yang dikenal sebagai polimorfisme.
schema fleksibel
MongoDB dianggap memiliki schema yang fleksibel, di mana dianjurkan untuk mendefinisikan schema, tetapi juga dapat menyimpan berbagai jenis data tanpa batasan tertentu.
RDMS vs. MongoDB
Di MongoDB, pemodelan data dimulai dengan kebutuhan aplikasi dan pertanyaan tentang bagaimana pengguna akan berinteraksi dengan aplikasi, sedangkan di database relasional, pemodelan data dimulai dengan kebutuhan data.
strategi penyimpanan data
Memiliki fleksibilitas dalam memilih cara penyimpanan data, termasuk normalisasi, penanaman dokumen, atau kombinasi metode penyimpanan yang masuk akal untuk aplikasi.
Types of data relationship
jenis relationship
Terdapat tiga jenis hubungan data umum, yaitu satu-ke-satu (one-to-one), satu-ke-banyak (one-to-many), dan banyak-ke-banyak (many-to-many).
prinsip umum
Data yang diakses bersama sebaiknya disimpan bersama untuk menghindari biaya sumber daya dan waktu dalam pencarian data.
1 to 1
Hubungan di mana satu entitas data di satu set terhubung dengan tepat satu entitas data di set lain. Di MongoDB, ini dapat diwakili dalam satu dokumen.
1 to M
Hubungan di mana satu entitas data di satu set terhubung dengan banyak entitas data di set lain. Dapat diwakili dengan penanaman dokumen terkait dalam satu dokumen.
N to M
Hubungan di mana banyak entitas data di satu set terhubung dengan banyak entitas data di set lain. Perlu strategi khusus untuk memodelkannya.
embedding
Memasukkan data terkait ke dalam dokumen yang sama untuk memodelkan hubungan.
referencing
Mengacu pada dokumen di koleksi lain dalam dokumen saat memodelkan hubungan.
Embedding data in documents
introduction
Embedding digunakan untuk menyimpan dokumen dalam dokumen lain, biasanya untuk hubungan satu-ke-banyak atau banyak-ke-banyak.
manfaat
MongoDB merekomendasikan embedding untuk menyederhanakan kueri dan meningkatkan kinerja secara keseluruhan. Mengurangi jumlah kueri yang diperlukan oleh aplikasi dan menghindari join yang memperburuk kinerja kueri.
embed document
Embed document mengandung dokumen lain di dalamnya dan dapat berupa struktur yang sederhana hingga kompleks.
prinsip
Data yang Diakses Bersama Harus Disimpan Bersama.
Embedding memenuhi prinsip ini dengan menyimpan data terkait dalam satu dokumen.
warning
Embedding dapat menyebabkan dokumen menjadi besar dan tak terbatas, yang dapat mengurangi kinerja aplikasi.
problem
Dokumen besar dan tak terbatas adalah pola anti-skema yang harus dihindari.
Referencing data in documents
penggunaan referensi
Ketika ingin menyimpan informasi terkait dalam dokumen terpisah atau koleksi terpisah, kita dapat menggunakan referensi.
konsep
Referensi menyimpan ID dokumen satu dan dokumen lainnya sebagai tautan antara keduanya.
tujuan
Menghindari duplikasi data dan menghasilkan dokumen yang lebih kecil.
pertimbangan
Penggunaan referensi memungkinkan untuk menghindari duplikasi data, namun membutuhkan pengambilan data dari beberapa dokumen yang dapat mempengaruhi kinerja baca.
alternatif
Penggunaan referensi kadang-kadang disebut sebagai linking atau data normalization.
pentingnya pengembilan keputusan
Penting untuk mempertimbangkan apakah menggunakan embedding atau referencing sesuai dengan kebutuhan aplikasi.
Scaling a data model
tujuan prinsip
Memastikan pola kueri sesuai dengan model data untuk efisiensi waktu hasil kueri, penggunaan memori, penggunaan CPU, dan penyimpanan.
dampak dokumen tak terbatas
Penulisan ulang dokumen saat menambahkan komentar mempengaruhi kinerja tulis karena seluruh dokumen harus ditulis ulang.
ukuran dokumen
Batasan ukuran dokumen adalah 16 megabyte, yang berarti masalah penyimpanan akan muncul jika dokumen terlalu besar.
solusi
Menggunakan referensi dan memecah data ke dalam beberapa koleksi untuk menghindari dokumen yang tak terbatas.
pentingnya pemodelan data yang edektif
Pemodelan data yang efektif akan mencegah masalah seperti batasan ukuran dokumen, kinerja kueri dan tulis yang buruk, dan penggunaan memori yang berlebihan.
Using Atlas tools for schema help
Anti-polanya schema
Merujuk pada praktik-praktik yang mengarah pada kinerja suboptimal atau solusi yang tidak dapat diskalakan dalam perancangan skema.
pola anti schema yang umum
Meliputi array besar, jumlah koleksi yang besar, dokumen yang membesar, indeks yang tidak perlu, kueri tanpa indeks, dan data yang diakses bersama tetapi disimpan dalam koleksi yang berbeda.
tools identifikasi
MongoDB menyediakan alat seperti Data Explorer dan Performance Advisor di Atlas untuk mengidentifikasi dan menyelesaikan anti-polanya skema.
data explorer
Memungkinkan untuk melihat ukuran penyimpanan, jumlah dokumen, ukuran total indeks, serta indeks yang tidak perlu dalam koleksi.
tab anti-polanya skema
Menyoroti masalah dalam koleksi dan memberikan detail untuk memperbaikinya, serta memberikan panduan untuk menyelesaikannya.
performance advisor
Memberikan rekomendasi untuk meningkatkan kinerja koleksi aktif dan kueri yang berjalan lambat, serta mengidentifikasi indeks yang tidak perlu dan masalah dengan skema.