Skip to content

Pemodelan Data NoSQL diterangkan

Corak pemodelan untuk stor dokumen, kunci-nilai, lajur lebar, graf dan vektor — bila menganjak (embed), merujuk, nyah-normalisasi, atau mengelompokkan masa.

Stor NoSQL menukar skema tetap dan join dengan skala mendatar. Setiap keluarga memodelkan hubungan dengan caranya sendiri, jadi corak akses — bukan bentuk normal — yang menentukan struktur.

Jadual rujukan · 28 entri
28 of 28 rows
Dokumen
Sub-dokumen bersarang hidup dalam satu dokumen induk, bukan dalam jadual berasingan.Hubungan satu-ke-beberapa yang dibaca bersama. Pesanan berserta baris itemnya. Pengguna dengan tiga alamat.
Simpan id asing, bukan datanya. Selesaikan dengan bacaan kedua atau $lookup.Sub-entiti yang besar, dikongsi atau dikemas kini sendiri. Pautan banyak-ke-banyak merentas koleksi.
Induk menganjak tatasusunan anak yang pendek; keseluruhan set muat dan dimuat sebagai satu dokumen.Beberapa nombor telefon atau keutamaan pada profil. Satu bacaan memulangkan induk dan anak.
Anak hidup dalam koleksinya sendiri; setiap anak membawa id induk, atau induk mengekalkan tatasusunan id berhad.Set yang terlalu besar atau terlalu bebas untuk dianjak. Pertanya anak mengikut id induk.
Anak menyimpan id induk; induk tidak pernah menyenarai anak kerana setnya tidak berhad.Peristiwa, log atau undi yang terikat pada hos atau pengguna. Tapis anak mengikut id induk dan paginasi.
Dokumen jenis entiti berbeza berkongsi satu koleksi, dibezakan oleh medan jenis.Komen atau pemberitahuan yang melekat pada pelbagai jenis induk, semua ditanya satu cara.
Beberapa entiti ekstrem dipisahkan daripada bentuk berkongsi supaya saiz atau trafiknya tidak memesongkan yang lain.Akaun selebriti yang senarai pengikut atau pengiranya akan melampaui dokumen biasa.
Setiap semakan ialah dokumen baharu dengan id sama dan nombor versi menaik; pertanyaan memilih yang terkini.Jejak audit dan sejarah suntingan tempat semakan lama kekal boleh ditanya.
Nilai terbitan dikira semasa tulis dan disimpan di sisi data yang diringkasnya.Jumlah, penilaian dan top-N yang jika tidak akan menjalankan pengagregatan pada setiap bacaan.
Kunci-nilai & lajur lebar
Istilah reka bentuk DynamoDB: padatkan banyak jenis entiti ke satu jadual menggunakan kekunci partisyen dan isihan terbeban (overloaded).Dapatkan item heterogen dalam satu pertanyaan tanpa join.
Satu atribut kekunci melayan banyak jenis entiti, ditandakan prefiks seperti USER# atau ORDER#.Reka bentuk single-table. Kelompokkan item berkaitan di bawah satu partisyen dan dapatkan dalam satu pertanyaan.
Kekunci partisyen menyebarkan baris merentas nod; kekunci isihan menyusun setiap partisyen.Cassandra dan DynamoDB. Imbasan julat, log tersusun, kekunci komposit berhierarki.
Tindik beberapa atribut ke satu kekunci isihan berpembatas — country#region#city — supaya padanan prefiks menuruni hierarki.Hierarki dan penapis pelbagai facet. Satu pertanyaan julat tersusun menggantikan banyak carian berindeks.
Kumpulkan peristiwa ke tetingkap tetap — jam, hari, bulan — di bawah partisyen atau jadual khusus.Metrik, log & telemetri IoT. Mengehadkan saiz partisyen dan meluputkan data sejuk.
Gandakan medan kerap-dibaca merentas rekod supaya pertanyaan tidak pernah mengejar carian kedua.Beban kerja berat-baca tempat konsistensi muktamad dapat diterima dan storan murah.
Indeks sekunder dibina pada atribut yang hanya sebahagian item bawa; item tanpanya tidak pernah masuk indeks.Laluan akses alternatif. Cari subset jarang — pesanan terbuka, item belum dihantar — tanpa imbasan penuh.
Tuliskan pertanyaan tepat dahulu; susun atur jadual diterbitkan daripadanya, bukan daripada entiti atau bentuk normal.Kerja skema Cassandra dan DynamoDB. Satu jadual per keluarga pertanyaan; model data menyalin soalan.
Pertanyaan terpaksa menghantar banyak partisyen atau nod secara selari kerana tiada kekunci sepadan dengan soalan.Bau yang perlu direka keluar, bukan matlamat. Ubah kekunci jadual supaya pertanyaan biasa mendarat pada satu partisyen.
Salinan ditolak ke pandangan setiap pembaca semasa tulis, atau dikumpul dan digabung semasa baca.Suapan dan garis masa. Sepuluh-semasa-tulis untuk khalayak kecil, semasa-baca untuk yang besar.
Hasil pertanyaan pra-bina disimpan sebagai jadualnya sendiri, dikekalkan semasa asas berubah.Bentuk bacaan alternatif atas satu laluan tulis. Melayan pertanyaan yang jadual asas tidak mampu jawab.
Graf
Setiap tepi ialah baris atau tupel yang menunjuk daripada nod sumber ke nod sasaran.Stor graf dan property. Carian kawan-daripada-kawan, penghalaan, cadangan.
Setiap hubungan ialah dokumen dalam koleksinya sendiri, membawa id from dan to serta atribut pautan.Graf dalam stor dokumen. Atribut pada pautan itu sendiri — penilaian, peranan, setem masa.
Setiap nod menyimpan pengira kiri dan kanan daripada perjalanan kedalaman-dahulu; subpokok hidup dalam julat induknya.Pokok berat-baca. Satu pertanyaan BETWEEN memulangkan subpokok; sisipan menomborkan semula perjalanan.
Jadual khusus merekodkan setiap pasangan nenek-moyang-ke-keturunan, termasuk setiap nod pada kedalaman sifar.Pertanyaan seluruh cabang pada sebarang kedalaman. Join ringkas, dibayar dengan storan dan penyelenggaraan.
Graf property melampirkan atribut kunci-nilai pada nod dan tepi; RDF menyatakan segalanya sebagai triple subjek-predikat-objek.Graf property untuk penelusuran kaya (Neo4j); RDF untuk data terbuka terpaut dan pertukaran ontologi.
Vektor
Tatasusunan float berdimensi tinggi duduk di samping metadata. Indeks ANN mencari jiran terdekat.Carian semantik, capaian semula RAG, cadangan dan persamaan atas kandungan tidak berstruktur.
Dokumen sumber dipecah — mengikut saiz, pertindihan atau struktur — sebelum setiap cebisan dianjak secara berasingan.Kualiti capaian semula RAG. Saiz cebisan mengimbangkan kejituan dengan ingatan semula; pertindihan melindungi ayat yang terpotong.
Persamaan vektor tumpu berjalan di samping padanan kata kunci; dua senarai berpangkat bergabung menjadi satu hasil.Pertanyaan yang perlukan istilah tepat dan makna serentak, dengan penapis metadata di atasnya.