Cara Menjaga Hubungan Antar Data Dalam Database NoSQL
Diterbitkan: 2022-11-23Basis data NoSQL semakin populer karena jumlah data yang dihasilkan terus bertambah dengan kecepatan eksponensial. Namun, masih banyak kebingungan tentang cara kerja database ini dan cara menjaga hubungan antar data di lingkungan NoSQL. Dalam database SQL tradisional, data disimpan dalam tabel dan hubungan dipertahankan melalui kunci asing. Dalam database NoSQL, data sering disimpan dalam dokumen, yang mirip dengan objek dalam bahasa pemrograman berorientasi objek. Dokumen dapat disarangkan, artinya hubungan dapat dipertahankan tanpa memerlukan kunci asing. Ada beberapa cara berbeda untuk menjaga hubungan antar data dalam database NoSQL. Cara yang paling umum adalah dengan menggunakan dokumen referensi. Dokumen referensi adalah dokumen yang berisi referensi ke dokumen lain. Misalnya, jika Anda memiliki kumpulan postingan blog, setiap postingan dapat memiliki referensi ke dokumen penulis. Cara lain untuk menjaga hubungan antar data dalam database NoSQL adalah dengan menggunakan dokumen yang disematkan. Dokumen yang disematkan adalah dokumen yang disimpan di dalam dokumen lain. Misalnya, jika Anda memiliki kumpulan postingan blog, setiap postingan dapat memiliki dokumen tersemat yang berisi informasi penulis. Keuntungan menggunakan dokumen referensi atau dokumen yang disematkan adalah lebih mudah untuk memperbarui data di masa mendatang. Misalnya, jika Anda ingin mengubah penulis postingan blog, Anda hanya perlu memperbarui dokumen pembuatnya. Anda tidak perlu memperbarui setiap postingan blog. Kerugian menggunakan dokumen referensi atau dokumen yang disematkan adalah dapat membuat data lebih sulit untuk dicari. Misalnya, jika Anda ingin menemukan semua postingan blog yang ditulis oleh penulis tertentu, Anda perlu menanyakan dokumen penulis untuk setiap postingan. Ini bisa menjadi tidak efisien jika Anda memiliki banyak dokumen. Jika Anda bekerja dengan database NoSQL, penting untuk memahami cara memelihara hubungan antar data. Dokumen referensi dan dokumen tersemat adalah dua cara paling umum untuk melakukannya.
Implementasi NoSQL dalam database berorientasi dokumen tidak cukup atau tidak ada untuk pengembangan hubungan antar objek. Dalam postingan blog ini, kami akan menunjukkan cara mendelegasikan manajemen objek/hubungan ke database. Relasi objek dibuat menggunakan panggilan REST API. Dalam contoh ini, kami akan menggunakan kata kerja PUT untuk menghubungkan pelanggan ke suatu masalah. Ketika sebuah relasi direpresentasikan dengan cara ini, array objek selalu ada. Anda akan dapat melihat perubahan pada dokumen asli setelah setiap referensi ke objek (yaitu relasi). Karena database mencatat penggunaan setiap relasi, kita juga dapat melihat di mana dokumen tertentu digunakan dalam relasi. Menggunakan kueri contoh yang ditunjukkan di bawah ini, Anda dapat menemukan keberadaan referensi implisit ke dokumen dengan menggunakan kueri khusus: referencedby=true.
Ada hubungan antara berbagai dokumen di MongoDB, yang menunjukkan hubungan logisnya. Menggunakan pendekatan Referensi dan Tertanam, hubungan dapat dimodelkan. Mari kita lihat kasus menyimpan alamat untuk pengguna dengan relasi N:N dalam contoh berikut.
Relasi Banyak-ke-Banyak (N:M) lebih sulit diterapkan daripada relasi satu-ke-banyak karena tidak ada perintah tunggal dalam database relasional untuk melakukannya. Saat diimplementasikan di MongoDB, caranya sama. MongoDB tidak mengizinkan Anda membuat hubungan apa pun secara default.
Database non- relasional , juga dikenal sebagai "NoSQL," biasanya hanya database SQL. Kemampuan mereka untuk menyimpan informasi sangat berbeda. Database non-relasional biasanya menyimpan data dalam format non-tabular, membuatnya lebih mudah beradaptasi dengan kebutuhan struktur data modern seperti database SQL dan NoSQL.
Bisakah Database Nosql Menjadi Relasional?
Basis data NoSQL bukan basis data relasional, yang berarti mereka dapat memiliki struktur yang berbeda dari basis data SQL (seperti baris dan kolom) dan dapat diadaptasi untuk memenuhi kebutuhan pengguna dengan lebih mudah.
Sistem basis data seperti relasional dan NoSQL umumnya diterapkan di aplikasi cloud-native. Praktik arsitektur dan penyimpanan data mereka berbeda, dan akses mereka ke informasi dan data juga berbeda. Database tanpa-SQL menyimpan data tidak terstruktur atau semi-terstruktur secara berpasangan atau dokumen yang tidak memiliki pemformatan. Datastore NoSQL lebih disukai ketika layanan volume tinggi memerlukan waktu respons sub-detik. Jika Anda mencari sistem yang konsisten untuk item yang sedang diperbarui, tunggu respons tersebut hingga semua replika berhasil diperbarui. Sekalipun responsnya bukan yang terbaru, setiap node akan mengembalikan respons instan. Jika simpul data yang direplikasi gagal, toleransi partisi memastikan bahwa sistem akan tetap berjalan.
Database sebagai Layanan (DBaaS) lebih disukai daripada jenis layanan data lainnya untuk aplikasi cloud-native. Layanan ini dapat digunakan untuk menyediakan keamanan, skalabilitas, dan pemantauan. Anda dapat mengonfigurasi mesin virtual Azure dan menginstal database pilihan Anda di atasnya untuk setiap layanan. Layanan mikro cloud-native dapat memanfaatkan database relasional atau NoSQL berdasarkan kebutuhan pengguna. Platform database Azure sebagai layanan (DBaaS) mencakup empat database relasional terkelola. Tidak perlu menahan diri untuk model just-in-time dan pay-as-you-go. Database andalan Microsoft, SQL Server, tersedia serta sejumlah alternatif sumber terbuka.
Dengan memilih jumlah inti pemrosesan, memori, dan penyimpanan yang diperlukan, Anda dapat menyediakan database Azure dalam waktu kurang dari satu menit. Microsoft berkomitmen untuk menjaga Azure sebagai platform terbuka, sehingga perusahaan menyediakan versi terkelola dari database sumber terbuka populer. Tingkat komputasi tanpa server secara otomatis menangguhkan database selama periode tidak aktif, hanya memungkinkan pengurangan biaya penyimpanan. Oracle mengakuisisi Sun Microsystems, dan versi terkelola dari MariaDB dibuat sebagai cabang dari MySQL. Database Azure untuk MariaDB adalah layanan database terkelola penuh yang disediakan sebagai bagian dari cloud Azure. Layanan ini dibangun di atas mesin server edisi komunitas MariaDB. Itu dapat menangani beban kerja penting dengan menyediakan kinerja yang dapat diprediksi dan penskalaan dinamis.
Alat antarmuka baris perintah atau Layanan Migrasi Data Azure adalah cara terbaik untuk memigrasikan database Postgres ke sana. Selain dukungan untuk pengelompokan aktif/aktif di tingkat global, CosmosDB mendukung penulisan dan pembacaan, memungkinkan Anda mengonfigurasi salah satu wilayah database Anda untuk melakukannya. Sistem database CosmosDB dapat digunakan untuk memigrasikan database Mongo, GREMLIN, atau Cassandra yang sudah ada dengan sedikit perubahan kode atau data. Penyimpanan Azure Table dapat dengan mudah ditransfer ke CosmosDB Table API untuk layanan yang menggunakannya. Gambar 5-13 berisi lima model konsistensi yang terdefinisi dengan baik untuk Azure Cosmos DB. Opsi ini mempermudah pengelolaan kompromi antara konsistensi, ketersediaan, dan kinerja. Tabel di bawah menggambarkan tingkat konsistensi untuk masing-masing.
Jeremy Likeness, Manajer Program Microsoft, memberikan penjelasan yang sangat bagus tentang kelima model tersebut. Teknologi database baru yang dikenal sebagai NewSQL menggabungkan skalabilitas terdistribusi dengan jaminan ACID untuk membuat database berorientasi objek. Ketika lingkungan cloud bersifat sementara, masuk akal bahwa database SQL baru akan berkembang sebagai akibat dari kehadiran mesin virtual yang mendasarinya yang dapat dimulai ulang atau dijadwal ulang kapan saja. Gambar sebelumnya mencakup proyek sumber terbuka yang dibuat oleh Cloud Native Computing Foundation. Berbeda dengan beban kerja lainnya, yang menggunakan konstruksi Layanan, klien dapat mengirim satu permintaan DNS ke grup proses database NewSQL yang identik. Kami dapat menskalakan tanpa memengaruhi ketersediaan instans aplikasi yang ada jika kami memisahkan instans database dari alamat layanan yang terkait dengannya. Permintaan khusus ke suatu layanan akan selalu menghasilkan hasil yang sama terlepas dari berapa banyak permintaan yang dikirim pada waktu yang sama.
Karena banyak kelebihannya, database NoSQL dengan cepat menjadi lebih populer. Kemampuan untuk menskalakan secara horizontal, menangani lebih banyak data, menyimpan data dengan lebih fleksibel, dan berintegrasi dengan sistem lain adalah semua keunggulan komputasi awan. Ada sejumlah keunggulan database NoSQL dibandingkan database relasional tradisional .
Bisakah Mongodb Menjadi Relasional?
Selain menjadi sistem basis data non-relasional yang mapan dengan peningkatan fleksibilitas dan skalabilitas horizontal, MongoDB memiliki beberapa keunggulan dibandingkan basis data relasional, seperti integritas referensial dan konkurensi.
Apakah Snowflake Database Relasional?
Tidak mengherankan jika Snowflake adalah database relasional yang kuat. Anda dapat menggunakannya dengan semua model data relasional utama, termasuk tiga standar (tabel, relasi, dan gabungan) dan model kepingan salju yang lebih tidak biasa. Basis data juga mendukung streaming waktu nyata, pengindeksan objek, dan akselerasi kueri, serta semua fitur basis data relasional modern yang ditemukan di basis data modern . Apakah itu relasional atau tidak? Basis data ini adalah basis data relasional.
Basis Data Nosql Mana Yang Tidak Mendukung Relasi Atau Bergabung?
Ada beberapa database nosql yang tidak mendukung relasi atau gabungan, termasuk MongoDB, Cassandra, dan Hbase. Walaupun database ini tidak sepopuler yang lain, mereka masih digunakan oleh banyak organisasi.
Oracle NoSQL Database tidak mendukung operator gabungan umum yang digunakan dalam database relasional tradisional. Namun, ia menyediakan tipe gabungan khusus untuk tabel dengan hierarki yang sama. Hasilnya, eksekusi gabungan menjadi sangat sederhana karena hanya baris yang ditempatkan bersama yang dapat cocok.
Relasi Entitas Di Nosql
Relasi entitas dalam nosql adalah relasi antara dua atau lebih entitas dalam database nosql. Hubungan ini bisa satu-ke-satu, satu-ke-banyak, atau banyak-ke-banyak.
Er Diagram Untuk Database Dokumen
Namun, Anda dapat menggunakan prinsip pemodelan ER untuk menyusun diagram ER untuk database berorientasi dokumen dengan cara yang sama. Buat model data yang dapat digunakan untuk menyimpan dokumen Anda. Jenis dokumen yang ingin Anda simpan, bidang dan properti untuk setiap dokumen, dan model secara keseluruhan harus disertakan dalam model data ini. Diagram entitas diperlukan untuk membuat model data Anda. Diagram di bawah ini akan menunjukkan struktur data di penyimpanan dokumen Anda. Kemudian, dengan menggunakan diagram hubungan, buat model data. Diagram di bawah menggambarkan hubungan antara entitas dalam model data Anda.
Banyak-ke-banyak Relasi Di Nosql
Relasi angka-ke-banyak adalah relasi di mana dua entitas dapat dihubungkan oleh beberapa instance dari entitas yang sama. Ada beberapa contoh kehidupan nyata: dokter dapat merawat banyak pasien sekaligus memiliki banyak dokter.
Saya ingin menerapkan struktur taksonomi (istilah geo) untuk aplikasi node.js saya dengan database NoSQL. Gagasan di balik tag geo adalah untuk mengidentifikasi orang yang lahir di kota atau kota tertentu dengan istilah tersebut, memfilternya nanti, dan menandainya. John Doe lahir di Blackburn (Lancashire) pada tahun 1957, Paul Brown di Liverpool pada tahun 1960, dan Georgia Doe di Wirral pada tahun 1982. Jika hanya ada beberapa elemen struktur di negara yang mengikuti elemen modern, mereka akan disaring dengan cara yang tidak mungkin. Saya seorang pemula di dunia NoSQL (saya belum mendesain database NoSQL apa pun, jadi saya memiliki tantangan desain yang serius di depan saya). Saya yakin ada beberapa opsi untuk menyelesaikannya.
Notasi Kaki Gagak: Hubungan Banyak ke Banyak
Anda biasanya akan melihat Notasi Kaki Gagak dalam basis data saat merepresentasikan sejumlah hubungan ke banyak secara grafis. Hubungan antar tabel diwakili oleh serangkaian garis, menurut notasi ini. Asal grafik (pojok kiri atas) biasanya akan dimulai dengan garis turun ke tabel yang disebut sebagai "asing" (karena di situlah asalnya). Setelah itu, baris akan menuju ke tabel terkait, diikuti oleh tabel anak.
Dokumentasi Nosql
Dokumentasi nosql adalah proses atau sekumpulan aturan yang digunakan untuk menulis kode nosql . Ini adalah gaya pengkodean yang dirancang untuk membuat kode nosql lebih mudah dibaca dan lebih mudah dipahami.
Database NoSQL, tidak seperti database relasional tradisional, tidak menyimpan data dalam format tetap. Jenis yang paling umum adalah dokumen, nilai kunci, kolom lebar, dan grafik. Pada akhir tahun 2000-an, penurunan biaya penyimpanan yang signifikan menyebabkan pengembangan database NoSQL. Pengembang dapat menggunakan alat ini untuk menyimpan data tidak terstruktur dalam jumlah besar, memungkinkan mereka bekerja pada berbagai proyek. Database dokumen, database nilai kunci, penyimpanan kolom lebar, dan database grafik adalah beberapa database NoSQL yang paling umum. Karena tidak diperlukan penggabungan, kueri menjadi lebih cepat. Kasus penggunaan yang paling umum mencakup aplikasi penting (misalnya, data keuangan) dan yang lebih lucu (misalnya, menyimpan pembacaan IoT dari kotak kotoran kucing pintar).
Dalam tutorial ini, kita akan melihat cara kerja database NoSQL dan mengapa database ini bermanfaat untuk berbagai aplikasi. Selain itu, kita akan melihat beberapa kesalahpahaman umum tentang database NoSQL dan aplikasinya. Menurut DB-Engines, MongoDB adalah database non-relasional yang paling banyak digunakan di dunia. Anda tidak memerlukan perangkat lunak apa pun di komputer Anda untuk menanyakan database MongoDB dalam tutorial ini. Cluster adalah kumpulan database tempat database MongoDB disimpan. Penyimpanan data Atlas dapat diakses saat Anda memiliki klaster. Ada tiga jenis database yang dapat Anda buat: secara manual di Atlas Data Explorer, di MongoDB Shell, atau di MongoDB Compass, tergantung bahasa pemrograman pilihan Anda.
Contoh ini akan menunjukkan cara mengimpor kumpulan data sampel Atlas. Basis data NoSQL dapat memberikan sejumlah keuntungan bagi pengembang, seperti model data yang fleksibel, penskalaan horizontal, kueri secepat kilat, dan kemudahan penggunaan. Anda dapat menyisipkan dokumen baru, mengedit yang sudah ada, dan menghapus dokumen di Data Explorer. Menggunakan kerangka agregasi, Anda dapat menganalisis data Anda dengan cara yang sangat kuat. Anda dapat dengan mudah melihat data Atlas dan Atlas Data Lake pada bagan.
Permintaan Nosql
Basis data NoSQL sering digunakan ketika skalabilitas lebih penting daripada konsistensi data. Basis data NoSQL juga terkadang disebut "tidak hanya SQL" untuk menekankan bahwa mereka mungkin mendukung bahasa kueri seperti SQL.
Sebelumnya, model data dan sistem kueri terintegrasi erat. Kami sekarang dapat membuat sistem database yang memprioritaskan produktivitas pengembang dan mulai mengabstraksi metode kueri dari model data untuk memprioritaskan produktivitas pengembang. SABRE, basis data komersial pertama di dunia, didirikan pada tahun 1994 oleh IBM dan American Airlines untuk meningkatkan efisiensi tiket pesawat. Basis data NoSQL telah dioptimalkan untuk skalabilitas, waktu aktif, redundansi, fleksibilitas, dan fleksibilitas selama beberapa tahun terakhir. Selain menambahkan pengurangan peta sebagai opsi di Riak dan MongoDB, mereka juga menambahkannya ke CouchDB dan Riak. Kami mengharapkan kueri deklaratif ad-hoc langsung dari SQL, tetapi ternyata itu lebih merupakan trik skrip. Jika Anda sedang membangun sistem database yang akan dengan mudah diskalakan, kueri bukanlah fokus utama Anda.
XQuery dan Jsoniq adalah upaya untuk membuat bahasa kueri standar yang dapat digunakan untuk mengambil dokumen hierarki dalam database dokumen. MarkLogic, database dokumen XML, menggunakan XQuery selain XQuery, sementara ArrangoDB menggunakan supersetnya sendiri yang disetel untuk pemodelan data. Kedua bahasa tersebut memiliki hubungan yang kuat dengan format data yang disimpan di disk, dan keduanya telah digunakan secara komersial. Satu atau kedua bahasa kueri yang digunakan dalam database dokumen terkait dengan bahasa kueri yang digunakan dalam database. N1QL (atau bahasa kueri non-bentuk pertama), berbeda dengan SQL, sangat mirip dengan SQL. Terlepas dari kenyataan bahwa hubungan tidak ditegakkan, kami berkolaborasi dalam dokumen, terlepas dari apakah itu formal atau informal. Baik Couchbase dan Cassandra mencurahkan banyak waktu dan upaya ke dalam indeks dan penguraian kueri mereka sehingga mereka dapat meminta data dengan cara ini tanpa perlu pencarian relasional.
Bisakah Anda Meminta Di Nosql?
Nama NoSQL tidak mengacu pada SQL. SQL bukan metode penulisan kueri yang disukai di No SQL. Perangkat lunak tidak menyimpan data dalam format relasional, melainkan secara terorganisir.
Apa Itu Contoh Nosql?
Database NoSQL berbasis kolom, seperti Cassandra, HBase, dan Hypertable, adalah umum.
Apakah Nosql Lebih Mudah Daripada Sql?
Database SQL memiliki keunggulan dalam memproses kueri dan menggabungkan data di seluruh tabel, memungkinkan kueri yang lebih kompleks terhadap data terstruktur, seperti permintaan ad hoc. Konsistensi basis data NoSQL di seluruh produk, terutama saat menangani data dalam jumlah besar, adalah fitur umum dalam jenis basis data ini.
Model Data Nosql
Apa itu model data NoSQL? Apa pro dan kontranya? Tidak ada yang namanya sistem manajemen basis data relasional (RDBMS), dan ini adalah model yang tidak mungkin ditiru. Akibatnya, tidak ada cara eksplisit bagi model untuk memahami bagaimana data berhubungan – bagaimana semua itu bersatu.
8 Pola Pemodelan Data di Redis mencakup dasar-dasar pemodelan data di NoSQL, serta praktik terbaik untuk memulai. Buku ini membahas delapan model data yang dapat digunakan pengembang untuk membuat aplikasi modern tanpa kesulitan yang dapat ditimbulkan oleh database tradisional . Menggunakan NoSQL, Anda dapat menggabungkan dua tabel atau koleksi terpisah untuk membuat satu tabel atau koleksi. Akibatnya, lebih mudah untuk menemukan semua data yang relevan dan memahami hubungan mereka. Setiap tabel di NoSQL dapat dilihat sendiri. Saat Anda ingin membuat model hubungan satu-ke-banyak, Anda menyematkan daftar terbatas (seperti daftar dengan ukuran yang diketahui) dan daftar tidak terbatas secara terpisah. Produk dalam hal ini adalah satu-satunya, dan banyak ulasan, nama penulis, tanggal publikasi, peringkat, dan komentar adalah 'banyak' variabel.
Pola pertama adalah hubungan sejumlah ke banyak dengan sisi tak terbatas. Tujuan dari database relasional adalah untuk menyimpan produk dalam tabel terpisah. Karena skema sangat fleksibel dan memungkinkan Anda memisahkan bidang jenis berdasarkan jenis koleksi, semua skema Redis Stack dapat disiapkan dengan fitur ini. Saat Anda mengumpulkan dan mengagregasi data deret waktu, pola bucket mengurangi overhead. Pola revisi dapat digunakan dalam berbagai konteks yang membutuhkan data real-time. Pola-pola ini dapat digunakan untuk memotong komplikasi yang terkait dengan operasi GABUNG di NoSQL. Pola Pohon dan Grafik sangat berguna untuk berbagai operasi berat berbasis GABUNG, seperti sumber daya manusia, CMS, katalog produk, dan jejaring sosial.
Model ini tidak didukung oleh sistem manajemen basis data relasional (RDBMS) karena didasarkan pada model yang tidak didukung oleh satu pun. Penyimpanan data dapat dilakukan dengan berbagai cara, termasuk penggunaan disk, dalam memori, atau keduanya. Redis Launchpad memiliki sejumlah aplikasi yang ditulis menggunakan NoSQL dan Redis.
Dokumen Aplikasi Data Nosql
Ada banyak alasan untuk menggunakan aplikasi dokumen untuk menyimpan data Anda. Pertama, database dokumen sangat fleksibel dan dapat dengan mudah menyimpan data dalam berbagai format. Ini berarti Anda dapat menyimpan data dalam format JSON, XML, atau bahkan biner jika Anda mau. Kedua, database dokumen seringkali lebih mudah untuk diskalakan daripada database relasional tradisional. Ini karena mereka dapat dipecah di beberapa server dengan sangat mudah. Terakhir, database dokumen sering memberikan kinerja yang lebih baik daripada database relasional untuk jenis kueri tertentu.
Data dalam database berorientasi dokumen disimpan dalam format JSON daripada dalam kolom/baris, seperti dalam database modern lainnya. Jenis data ini memungkinkan Anda menangani tantangan yang jauh lebih sulit dikuasai dengan RDBMS. Penyimpanan dokumen memungkinkan pengembang berkolaborasi lebih cepat dengan perangkat lunak gesit dengan menjadikannya solusi alami dan mudah beradaptasi. Bahasa kueri ekspresif dan fitur indeks multifaset memudahkan kueri dalam berbagai cara. Dengan memanfaatkan transaksi ACID, Anda dapat mempertahankan semua jaminan yang biasa Anda miliki dalam database relasional. Data Anda dapat diskalakan dan tangguh tanpa batas sebagai hasil dari sistem terdistribusi. Setiap dokumen ditempatkan secara terpisah dan lebih mudah didistribusikan ke seluruh server untuk memastikan lokalitas data tidak terganggu.
Database dokumen, berbeda dengan database relasional, menggunakan pemodelan praktis dan intuitif yang dapat dibaca lebih cepat. Karena kualitas data akan lebih rendah, akan ada tabel yang kurang kaku. Karena tidak ada penskalaan asli, jika Anda ingin mempartisi basis data relasional tradisional Anda, Anda harus membayar sistem peningkatan yang mahal. Setiap penyimpanan dokumen dalam database berorientasi dokumen berisi bidang untuk berbagai jenis dokumen, dan bersifat opsional. Meskipun setiap dokumen memiliki komposisi struktural yang sama, terdapat bidang yang berbeda di setiap dokumen. Setiap dokumen memiliki ID uniknya sendiri yang dapat digunakan untuk menambah, mengubah, menghapus, dan menanyakan informasi. Pengkodean dokumen umumnya diasumsikan mencakup beberapa format standar atau kompresi data (atau informasi) yang dienkapsulasi.
Database berorientasi dokumen berbeda dari database konvensional karena jauh lebih fleksibel dan tidak memerlukan konsistensi. Alih-alih mengirimkan data ke kolom dalam database, data langsung diambil dari dokumen. Tidak perlu menambahkan bidang informasi baru ke setiap kumpulan data, hanya yang relevan di penyimpanan dokumen.
Perbedaan Antara Mongodb Dan Sql
Penting untuk dicatat bahwa dokumen berbeda. Tidak ada batasan jumlah bidang yang dapat disertakan dalam dokumen. Tipe dokumen juga dapat berisi bidang yang terkait dengannya. Sebuah dokumen, misalnya, dapat mewakili pelanggan dalam database. Dokumen tersebut akan mencakup nama lengkap, alamat, dan nomor telepon pelanggan. Riwayat pesanan pelanggan dan saldo akun juga dapat disertakan di kolom.
Perbedaan antara MongoDB dan SQL adalah bahwa database bukan tabel, dan dokumen juga bukan tabel. MongoDB tidak memiliki kumpulan bidang seperti SQL. Koleksi dokumen, di sisi lain, terdiri dari bidang yang terkait.