Dalam tutorial MongoDB terakhir kami, kami telah membahas Tipe Data MongoDB. Jadi, mari melangkah lebih jauh dengan MongoDB Pada artikel ini, kita akan membahas indeks MongoDB, pengindeksan lanjutan, dan batasan pengindeksan di MongoDB. Selain itu, kita akan mempelajari properti MongoDB Show
Indeks MongoDB. Jenis, Properti & Keterbatasan Apa itu Indeks MongoDB?Untuk semua jenis database, indeks sangat penting. Di MongoDB, Indeks membantu menyelesaikan kueri dengan lebih efisien. Indeks adalah struktur data khusus yang digunakan untuk menemukan record dalam tabel yang diberikan dengan sangat cepat tanpa harus menelusuri setiap record dalam tabel MongoDB menggunakan indeks ini untuk membatasi jumlah dokumen yang harus dicari dalam koleksi. Struktur data yang digunakan oleh indeks adalah Binary Tree a. Indeks DefaultDalam pengindeksan MongoDB, semua koleksi memiliki indeks default pada bidang _id. Jika kami tidak menentukan nilai apa pun untuk _id, MongoDB akan membuat bidang _id dengan nilai objek. Indeks ini mencegah klien membuat dua dokumen dengan bidang _id nilai yang sama b. Buat IndeksDi MongoDB, pengguna dapat membuat indeks menggunakan sintaks berikut Db.collection_name.createIndex( <key and index type specification>, <options>) Metode ini membuat indeks hanya jika indeks dengan spesifikasi yang sama belum ada > db.dataflair1.createIndex({name:1}) { “createdCollectionAutomatically” : false, “numIndexesBefore” : 1, “numIndexesAfter” : 2, “ok” : 1 } >_ Indeks MongoDB. Buat Metode Indeks Jenis Indeks di MongoDBMongoDB mendukung jenis indeks berikut untuk menjalankan kueri i. Indeks Kolom TunggalMongoDB mendukung indeks yang ditentukan pengguna seperti indeks bidang tunggal. Indeks bidang tunggal digunakan untuk membuat indeks pada bidang tunggal dokumen. Dengan indeks bidang tunggal, MongoDB dapat melintasi dalam urutan naik dan turun. Itu sebabnya kunci indeks tidak menjadi masalah dalam kasus ini ii. Indeks SenyawaMongoDB juga mendukung indeks yang ditentukan pengguna di banyak bidang. Untuk MongoDB ini memiliki indeks majemuk. Ada urutan bidang berurutan untuk indeks majemuk Misalnya, jika indeks majemuk terdiri dari {“nama”. 1, "kota". 1}), maka indeks akan mengurutkan terlebih dahulu nama kemudian kota > db.dataflair1.find().sort({“name”:1,”city”:1}) { “_id” : ObjectId(“Sadfeb8931cffc950c924471”), “name” : “amit”, “city” : “ujjain” } { “_id” : ObjectId(“Sadfeb6e31cffc950c92446f”), “name” : “ankitt”, “city” : “indore” } { “_id” : ObjectId(“Sadfeb7c31cffc950c924470”), “name” : “rohit”, “city” : “ujjain” } { “_id” : ObjectId(“Sadfeb9731cffc950c924472”), “name” : “sumit”, “city” : “devas” } > Indeks MongoDB- Indeks Gabungan iii. Indeks MultikunciMongoDB menggunakan indeks multikey untuk mengindeks nilai yang disimpan dalam array. Jika kita mengindeks bidang dengan nilai larik, MongoDB membuat entri indeks terpisah untuk setiap elemen larik. Indeks ini memungkinkan kueri untuk memilih dokumen dengan kriteria yang cocok MongoDB secara otomatis menentukan apakah akan membuat indeks multikunci jika bidang yang diindeks berisi nilai larik. Kita tidak perlu menentukan tipe multikey secara eksplisit. Di bawah ini adalah contoh indeks multikey > db.dataflair1.find().sort({“name”:1,”city”:1}) { “_id” : ObjectId(“Sadfeb6e31cffc950c92446f”), “name” : “ankitt”, “city” : “indore” } { “_id” : ObjectId(“Sadfeb7c31cffc950c924470”), “name” : “rohit”, “city” : “ujjain” } { “_id” : ObjectId(“Sadfeb8931cffc950c924471”), “name” : “amit”, “city” : “ujjain” } { “_id” : ObjectId(“Sadfeb9731cffc950c924472”), “name” : “sumit”, “city” : “devas” } > Indeks MongoDB – Indeks Multikunci iv. Indeks GeospasialUntuk kueri data geospasial, MongoDB mendukung dua jenis indeks – indeks 2d dan indeks bola 2d. indeks 2d gunakan geometri planar saat mengembalikan hasil dan indeks 2dsphere gunakan geometri bola . v. Indeks TeksIni adalah jenis indeks lain yang didukung oleh MongoDB. Indeks teks mendukung pencarian konten string dalam koleksi. Jenis indeks ini tidak menyimpan kata berhenti khusus bahasa (mis. g. “itu”, “a”, “atau”). Indeks teks membatasi kata dalam koleksi agar hanya menyimpan kata dasar Di bawah ini adalah contoh indeks teks HIni adalah sintaks yang kita gunakan untuk Text Index db.collection_name.createIndex({name:”text”}) > db.dataflair.createIndex({name:”text”}) { “createdCollectionAutomatically” : false, “numIndexesBefore” : 1, “numIndexesAfter” : 2, “ok” : 1 } Indeks MongoDB- Indeks Teks vi. Indeks HashMongoDB mendukung sharding berbasis hash dan menyediakan indeks hash. Indeks ini adalah hash dari nilai bidang Properti Indeks MongoDBa. Indeks UnikProperti indeks ini menyebabkan MongoDB menolak nilai duplikat untuk bidang yang diindeks. Dengan kata lain, properti indeks yang unik membatasinya untuk memasukkan nilai duplikat dari bidang yang diindeks. Indeks unik dapat dipertukarkan secara fungsional dengan indeks MongoDB lainnya Mari kita lihat contohnya Kami membuat indeks menggunakan createIndex() untuk bidang nama dan menyetel unique menjadi true. Kemudian masukkan dokumen dengan bidang "nama" dan "kota" > db.dataflair.createIndex({name:1},{unique:true}) { “createdCollectionAutomatically” : false, “numIndexesBefore” : 2, “numIndexesAfter” : 3, “ok” : 1 } > db.data-flair.insert({“name”:”ankit”,”city”:”Indore”}) WriteResult({ “nInserted” : 1 }) > db.data-flair.insert({“name”:”ankit”,”city”:”Indore”}) WriteResult({ “nInserted” : 0, “writerError” : { “code” : 11000, “Errmsg” : “E1100 duplicate key error collection: test.dataflair index: name_1 dup key: ( : \”ankit\” }” } }) >_ Indeks MongoDB- Properti Unik Kami melihat bahwa ketika kami mencoba memasukkan dokumen lagi dengan nilai bidang yang sama dengan properti unik, kesalahan ditampilkan Jadi, kita tidak dapat menyisipkan nilai duplikats dalam bidang dengan properti unik. b. Indeks ParsialProperti ini hadir dalam MongoDB versi 3. 2. Indeks Parsial hanya mengindeks dokumen yang cocok dengan kriteria filter. Jika kita membuat indeks dengan beberapa ketentuan yang diterapkan maka itu adalah indeks parsial Mari buat indeks di bidang kota hanya dengan kota Indore. Untuk ini, kita harus menggunakan partialFilterExpression > db.dataflair.createIndex({city:1},{partialFilterExpression:{name:”ankit”}}) { “createdCollectionAutomatically” : false, “numIndexesBefore” : 3, “numIndexesAfter” : 4, “ok” : 1 } > Indeks MongoDB- Indeks Parsial Pesan ditampilkan sebagai "ok". 1 berarti indeks parsial telah dibuat c. Indeks JarangProperti jarang memastikan bahwa indeks hanya berisi entri untuk dokumen dengan bidang yang diindeks. Indeks akan melewati dokumen tanpa bidang yang diindeks Kami dapat menggabungkan opsi ini dengan opsi indeks unik untuk menolak dokumen dengan nilai duplikat untuk suatu bidang. Dan dapat mengabaikan dokumen tanpa kunci yang diindeks secara bersamaan > db.dataflair.createIndex({name:1},{unique:true,sparese:true}) { “createdCollectionAutomatically” : false, “numIndexesBefore” : 2, “numIndexesAfter” : 3, “ok” : 1 } >_ Indeks MongoDB- Indeks Jarang d. Indeks TTLIndeks TTL atau "total waktu untuk hidup" adalah indeks khusus di MongoDB. Indeks ini digunakan untuk menghapus dokumen secara otomatis dari koleksi setelah durasi waktu yang ditentukan. Opsi yang kami gunakan adalah expiredAfterSeconds untuk memberikan waktu kedaluwarsa Properti ini ideal untuk jenis informasi tertentu seperti data yang dihasilkan mesin, log, dan informasi sesi yang hanya perlu ada untuk waktu terbatas dalam database Indeks MongoDB- Indeks TTL Keterbatasan Pengindeksan MongoDBPengindeksan di MongoDB memiliki beberapa batasan yang dibahas di bawah ini a. Batasan Jangkauan
b. Penggunaan RAMUkuran total indeks tidak boleh melebihi ukuran RAM karena indeks disimpan dalam RAM. Jika melebihi batas ini, akan menyebabkan penghapusan beberapa indeks dan menurunkan kinerja c. Batasan KueriFaktor-faktor berikut tersedia untuk kueri saat mengindeks
d. Batas Kunci yang DiindeksMongoDB tidak akan membuat indeks jika nilai bidang indeks yang ada melebihi batas kunci indeks KesimpulanSekarang kita telah mempelajari Indexing di MongoDB. Kami juga telah melihat properti Pengindeksan dan batasan Pengindeksan di MongoDB. Kita juga akan melihat bagaimana replikasi dan sharding bekerja di MongoDB Berapa banyak indeks yang dapat dibuat oleh MongoDB?Satu koleksi dapat memiliki tidak lebih dari 64 indeks .
Berapa banyak indeks yang dibuat MongoDB secara default untuk koleksi baru?Untuk mendukung kueri data koordinat geospasial yang efisien, MongoDB menyediakan dua indeks khusus . Indeks 2d yang menggunakan geometri planar saat mengembalikan hasil dan indeks 2dsphere yang menggunakan geometri bola untuk mengembalikan hasil.
Apa indeks default di MongoDB?Saat membuat dokumen dalam koleksi, MongoDB membuat indeks unik menggunakan bidang _id. MongoDB menyebut ini sebagai Indeks _id Default
Apakah MongoDB secara otomatis membuat indeks?Bidang tunggal
. Indeks ini kemudian dapat digunakan untuk mengambil dokumen dari database secara efisien. Namun, Anda akan sering meminta data pada bidang spesifik lainnya. Each collection in MongoDB automatically has an index on the _id field. This index can then be used to fetch documents from the database efficiently. However, you will need to query data on other specific fields most of the time. |