Ingabe ufuna ukushumeka kokuthunyelwe kwebhizinisi noma ukulayishwa kwebhizinisi? Ewe, akugqithile: Zihlanganisa ukuthi izinhlelo zihlanganisa kanye nokusetshenziswa. Nge-MongoDB, akugqithile. Uma thwebula ukulayisha, sincoma ukusebenza, ukhuseleko, kanye nezinye izinzuzo ezivela izinhlelo ezintsha. Nokho, zonke ukulayishwa zihlanganisa izinguquko eziholile eziholile. Kulesi nqaku, sizobe ezinye izici ezintsha ze-MongoDB inguqulo 8.0 futhi zihlanganisa izimo eziyinhlobonhlobo ezihambisana ngaphambi kokuthunyelwa kule inguqulo esitsha. Yini entsha ku-version 8.0? I-Document Database ye-Document Database eyenziwe ngempumelelo. Kuyinto ukhetho olungcono kubasebenzisi abavela ukusebenza, ubuchwepheshe ephezulu, kanye nenkinga okuzenzakalelayo. It inikeza ukuthuthukiswa okukhanyisa kanye ne-latency, kuqhathaniswa nezinhlangano ezedlule. Ukuhlolwa kwebhizinisi ku-7.0 ibonise ukucaciswa okusheshayo ku-32%, ukucaciswa okusheshayo ku-59%, kanye ne-200% + ukucaciswa kwe-time-series. I-release of this latest version ibonise ngezinyathelo eziningana eziphambili: Imininingwane 8.0 : I-MongoDB 8.0 inikeza izinga lokusebenza eziyinhloko, njenge-reads, i-writes, ne-bulk operations. Waze Okwe, ziye zithuthukisa! Ngakho-ke, uma isicelo yakho ibhizinisi ephezulu, ukuhlaziywa ku-8,0 kungase ukunciphisa isikhathi sokuphendula nokuphucula umthamo, ukuhlinzeka ukuthi uhlelo lakho ibhizinisi ngaphandle kokusebenzisa okuphakeme. Performance improvement insertMany bulkInsert : Ngo MongoDB 8.0, Ukubonisa umthamo yokusebenza izixazululo ze-range ku-fields encrypted usebenzisa ama-operators $lt, $lte, $gt, futhi $gte. Security Ukusebenza kwe-encryption : Nge-MongoDB 8.0, ukuhlaziywa kwe-horizontal iyatholakala ngokushesha futhi ngempumelelo kakhulu. Lezi zindlela zithumela izicelo ukufinyelela ngaphezu kwezingcele ze-databases ezivamile ngokuvumela idatha kwi-server eziningana, ezaziwa ngokuthi ama-shards, ngaphandle kokufaka inani elikhulu lwezinsizakalo ngaphambi kokufaka. I-sharding ezintsha e-MongoDB 8.0 ivumela ukuxhumana kwedatha ngempumelelo angama-50 futhi ukunciphisa izindleko angama-50%. Resilience, scalability, and high availability Ukuguqulwa kweGeneral Ukusebenza kwe-encryption Nge inguqulo entsha, i-Queryable Encryption inikeza ukufuna ngaphakathi kwelanga, usebenzisa ama-operators efana Ngena ngemva Ngena ngemva , futhi , isibonelo, ukufilitha idatha ngesikhathi ezithile, njenge-dates noma ama-numerical values, bese ukugcina idatha encrypted. $lt $lte gt $gte Izigaba ze-Express Query I-Express isetshenziselwa njengesinyathelo esitsha sokusebenza okwandisa isinyathelo se-query for simple use cases. Uma usebenza isinyathelo se-simple eyenza i-indice ye- _id eyodwa, isibonelo... db.customer.find({_id: ObjectId('670ec6b005b98857588f5b6a')}).explain() ...ukubona ukuthi le ngempumelelo entsha EXPRESS_IXSCAN iyatholakala. Izinyathelo ze-EXPRESS zingatholakala njengezinye ezilandelayo: I-EXPRESS_CLUSTERED_I-IXSCAN Ngena ngemvume I-EXPRESS_IXSCAN I-EXPRESS_UPDATE Ngaphandle kokuphendula isigaba seplani se-classic, isibuyekezo yakho isebenzisa lokhu isigaba esisha. Lokhu kubuyekeza ukucubungula nokuphendula isibuyekezo se-regular, ukunikela ukuguqulwa kwe-17% ku-performance. Qhagamshelana ne-Query Shape Isakhiwo se-query ku-MongoDB ibonise isakhiwo se-attributes esihlanganisa ama-queries efanayo, kuhlanganise ama-filters, i-sorting, i-projections, izigaba ze-aggregation, kanye ne-namespace. Lokhu kuvumela i-MongoDB ukwandisa ukusebenza ngokushesha ukusetshenziswa kwekhwalithi ze-query ngezakhiwo ezivamile ze-queries, okuholela ekukhiqizeni okusheshayo. Ukusuka ku-MongoDB 8.0, isakhiwo se-query ibonise izakhiwo ze-query, okuvumela ukucacisa izimo ezithile zokusebenza ze-queries ezivela. One such a behavior is the Uma kusetshenziselwa, i-MongoDB iyahlekile ngokuzenzakalelayo noma iyiphi isibuyekezo esifanayo le shape, ngaphandle kokubili yayo eyodwa. reject: true Ukukhetha ukuthi ukulawula ikhadi le-database enikezela izicelo ze-third-party. I-application eyodwa isiza ukuxhumana izixazululo ezikhulu ezivela ku-collection scan (COLLSCAN), okukhuthaza kakhulu uhlelo - isibonelo, isixazululo efana ne: Use case: db.pizzaOrders.find({price: 10}) // Explain Plan "winningPlan": { "stage": "COLLSCAN", "filter": { "price": { "$eq": 20 } }, }, Ungafakwa i-querySettings ukuze asikaze izibuyekezo ezivela kule isakhiwo (okungafani nezindleko): db.adminCommand( { setQuerySettings: { find: "pizzaOrders", filter: { price: 20 }, $db: "my_database" }, settings: { comment: "Will be rejected", reject: true } } ) Kuyinto isicelo esithathwe isithombe esithathwe lapho isithombe esithathwe Ukusuka isixazululo se-rejection, ngaphandle kwe-reel I-value eyatholakala ku-query. (I-focus iyatholakala ngokuphelele ku-query's structure.) Ngakho-ke, uma usebenza isibuyekezo esifanayo le-query... price pizzaOrders price db.pizzaOrders.find({price: 10}) ... isibuyekezo kuyahlukaniswa ngokuvamile ngu-MongoDB: Ukubonisa zonke izicelo ze-query, ungasebenzisa isigaba $querySettings ku-agregation pipeline: db.aggregate( [ { $querySettings: {} } ] ) imiphumela : [ { "queryShapeHash": "4DD2DED8A25C787DFA41325883052FABB97DDEE567B2636A3B188DDF0CCFE6F0", "settings": { "reject": true, "comment": "Will be rejected" }, "representativeQuery": { "find": "pizzaOrders", "filter": { "price": 20 }, "$db": "my_database" } } ] Kodwa-ke, uma ufuna ukubuyekeza izidakamizwa izidakamizwa — umzekelo, izinhlobo ezahlukene zokusebenza izidakamizwa — unayo izinketho ezimbili: Usebenzisa $QueryStats. Uhlobo le-aggregation inikeza izibalo ku-queries run . since the last server restart use('admin'); db.aggregate( [ { $queryStats: {} } ] ) Lokhu kusiza ukuyifaka imibala ye-query kanye nokuphucula ukusebenza. 2. Qaphela i-logs ye-MongoDB. Iziqu ze-Slow zihlanganisa nge-queryShapeHashes yayo embhedeni ze-MongoDB. Kuyinto efanelekayo ukucacisa izibuyekezo ezingenalutho ezingenalutho. Ukuze ukususwa, singasebenzisa i-query shape hash: db.adminCommand( { removeQuerySettings: '4DD2DED8A25C787DFA41325883052FABB97DDEE567B2636A3B188DDF0CCFE6F0' } ) Kuyinto enhle ngenxa yokubonisa ukuthi idatha yebhizinisi akuyona ngempumelelo ze-third-party that could cause high resource consumption, zonke . without the need to make changes to the application I-compatibility ne-deprecations Ukulungiselela ngaphambi kwe-version 8.0, uma ukhangela ama-values efana ne- , Izindawo nge Value inguqulo. Nokho, kule inguqulo entsha, idatha eyenziwe njenge will not be returned in requests with Ukuphakama - isibonelo: null undefined undefined null // People collection [ { _id: 1, name: null }, { _id: 2, name: undefined } ] Ngokuqondene ne-collection, uma ushiye isicelo esilandelayo ... db.people.find({name: null}) ... umphumela: [ { _id: 1, name: null } ] Imininingwane ngeke akubhalwe. Uma isicelo yakho ifakwe idatha , ungakwazi rewrite noma upgrade idatha undefined kanye ne-questions ukuze zibonele lokhu ukuguqulwa kokusebenza. undefined undefined I-The uhlobo lashukumisa, futhi eminye izimo, uma uxhumane , kuya kubhalwe ku . Note undefined undefined null Indicator Ukuhlobisa Thola usebenzisa , njengoba kubhalwe ku-query shape section of this article, njengoba ama-index filters zithunywe kuleli khasi. inikeza umsebenzi ngaphezulu kakhulu, okwenza kube ukhetho esizayo. Nge ama-index filters ezidlulile, kubalulekile ukuguqulwa ku Ukuze usebenzise izici zayo eziphambili. setQuerySettings setQuerySettings setQuerySettings Upgrade Planning futhi Strategy Ngemuva kokufunda izici ezintsha ezivela ku-version edlule futhi uqala ukuhlaziywa ku-MongoDB edlule, kukhona izinto ezimbalwa ukuthi kufanele ukunakekelwa. Le nqaku uyaziqhathanisa ezinye izindlela kanye nezinyathelo ezinhle zokuphucula okuhlobene nokuphumelela kwe-replica set e-MongoDB Atlas. Qiniseka ukuthi zonke izilimi zihlanganisa izici zayo, futhi ukuhlola indlela isicelo yakho isebenzisa izici MongoDB kuyinto ebalulekile ukuhlaziywa okuphumelelayo. Ukuhlola ukuthi izici ezisetshenziselwa kakhulu futhi kanjani kungatholakala imiphumela ukuhlaziywa. Pre-upgrade Ukubuyekezwa Upgrade version path Wonke abasebenzisi kufanele usebenza i-version 7.0 ngaphambi kokufaka ku-version 8.0. Imibuzo Set Kuyinto ebalulekile ukubaluleka ukuthi akwazi upgrade ngqo kusuka ku-version 5.0-series kuya ku-8.0, isibonelo, noma kusukela ku-6.0-series kuya ku-8.0. Ukuze ukwenza lokhu, kufanele upgrade ngokulandelanayo, inguqulo ngalinye, kuze kube inguqulo 7.0. Review release notes Ngaphandle kwalokho, akuyona ulwazi olungcono kakhulu kunazo Qinisekisa ukuthi uxhumane izibuyekezo ezithile ezivulwe, ikakhulukazi izinguquko ezintsha, izici ezintsha, kanye nezisebenziswano ezihlangene. Umhlahlandlela okuhlobisa version Umhlahlandlela okuhlobisa version Check the driver compatibility Ngaphambi kokuphumelela noma yini Mongodb kuhambisana, kubalulekile ukuhlola izitebhisi zokuxhumana ku-documentation ye-driver yakho. , kufanele uqinisekisa ukuthi inguqulo ye-MongoDB iyahambisana ne-MongoDB isithuthuthu esebenzayo. Hlola lokhu umfanekiso: avoid breaking your application Ukubonisa ukuthi ukusebenzisa zonke izici ze-MongoDB 8.0, kufanele usebenzisa umqhubi version 5.2 kuya ku-5.3. Umqhubi we-application ingatholakala ukuhlaziywa ukuze usebenzise ngokuphelele izici ezintsha ze-server. Kwezinye izimo, umqhubi abalandeli angakwazi ukuxhaswa ngokuphelele nge-versions ezintsha ze-MongoDB. Cluster health check Okunye ingxenye ebalulekile ngaphambi kokufaka ukuhlaziywa kuyinto ukuhlola ukwelashwa kwezinye ama-member of your replica set. ** Qiniseka zonke ama-nodes zokusebenza ngokushesha. ** Ungathola lokhu ulwazi ngokufika ku- "Database Cluster" menu futhi chofoza ku-cluster yakho: Kule isikrini, uzothola ukuthi wonke node inesibopho eluhlaza elandelayo igama yayo, okuvumela ukuba isifo se-okungcono. Staging cluster: your testing hub Ukuze kuqinisekisa ukuhlaziywa okuhambisanayo futhi ukunciphisa izimo, kubalulekile ukusebenza nge I-environment ye-staging isebenza njenge-safe zone yokuhlanza izinguquko ezintsha, izici, nezinguquko ngaphandle kokuphendula abasebenzisi ekupheleni. Nge-production cluster emzimbeni emzimbeni enhle, kube isikhathi sokusebenza ngezinyathelo ezilandelayo: Ukubuyekezwa Ambient Yenza i-staging cluster Kulesi isinyathelo kuhlanganise ukwakha i-cluster eyakhelwe ukuhlolwa. Ukulandela inqubo esisodwa yokufaka i-cluster entsha, ukuze simele imvelo yokukhiqiza ngokunemba. Ukubuyekezwa ku-version yokukhiqiza 2. Ukukhishwa kwe-staging nge-data yokukhiqiza Ukuguqulwa kwe-backup esidlulile kusuka ku-production cluster ukuze kuqinisekisa ukuthi isigaba sokupholisa imvelo se-production. Ungakwazi ukwenza lokhu ngokusebenzisa i-Atlas interface ngokuchofoza i-backup, ukhetho yokuguqulwa, kanye nokupholisa isigaba sokupholisa. I-Upgrade ye-staging cluster kuya ku-8.0 Ukuhlaziywa kwe-cluster ye-staging ku-MongoDB 8.0 ukuze uthola inguqulo entsha kanye nemikhiqizo yayo. Ukuze ukwenza lokhu, nje uchofoze i-cluster futhi uchofoze "Edit Configuration" futhi "Additional Settings": 4. Thola isicelo yakho Yenza izivivinyo ukuqinisekisa ukuthi yonke into isebenza njengezimfuneko, kuhlanganise izivivinyo ze-database kanye nezicelo. Ukuthuthukiswa kwe-production cluster Ngemva kokufaka emkhakheni we-stage, sicela ukuba i-Function Compatibility Version (FCV) ibekwe ngokufanele, ngaphambi kokufaka i-production cluster. inikeza ingxubevange yebhizinisi esizayo ngesikhathi sokushintshwa ngokulawula ukuthi izici ze-MongoDB entsha zithunyelwe ku-cluster. Lokhu kukuvumela ukuhambisa ngokushesha ku-version edlulile, ukuqinisekisa ukuthi konke kusebenza ngokushesha ngaphambi kokusebenza ngokuphelele izici ezintsha ekukhiqizeni. Ukubuyekezwa Nangona kungenziwa okungenani, ukuguqulwa kwe-FCV inikeza ukuguqulwa. Uma kufuneka, ungakwazi ukuguqulwa ku-version edlule ngokuguqulwa kwe-FCV. Lokhu kuqinisekisa ukuthi ungakwazi ukulawula inqubo yokuguqulwa nge-risk engaphansi futhi uzothola ukulawula okungagunyaziwe. Uma ufake i-FCV (ngokusho), ungakwazi ukuqala ukuhlaziywa kwe-production cluster. Ngokwenza lokhu, sicela uqhagamshelane nezinyathelo ezivamile ezivela ku-section edlule, kodwa kulokhu, isetshenziswe ku-production cluster. Ukuhlolwa I-post-upgrade kuyinto enhle kakhulu njengama-steps ezidlulileyo. Ukuhlola ukusebenza kubaluleke ukunakekelwa kokuphumelela kwe-process. Izinto ezithakazelisayo ezivela ku-Check: : Ukuhlola ukwelashwa kwezinhlobonhlobo ukuqinisekisa ukusebenza ngokufanelekileyo. Node health : Faka isibuyekezo ku Ukubala kanye nokubhalisa izilinganiso ukuze asize ukuthi akukho imiphumela imiphumela. Latency of operations Ukuhlobisa I-Monitor ye ukuze sicele ukusebenza kahle ngemuva kokuphumelela. Query performance Ukusebenza kwe-Queries : Qinisekisa ukuthi ama-indices asebenza ngokufanelekileyo futhi ukunakekela lapho kufuneka. Indexes Last but not least, bheka ama-metrics ngamunye ye-nodes e-cluster yakho. Lezi zithumela ukubuyekeza oluthile ku-health jikelele ye-system yakho. Ungathola ku-tab “Metrics” ye-cluster yakho: Waze Umhlahlandlela ukubuyekezwa kubhalwe ngokuvumelana nezidingo ezithile nezidingo zayo zokusebenza. Qinisekisa ukulawula isilinganiso se-support ye-Cluster yakho ye-MongoDB futhi uhlaziywa ngezithombe ze-releases, ngakho-ke ungakwazi ukuvikela ukuhlaziywa okuhlobene nokusetshenziswa. Thola kanjani isicelo sakho esebenzayo nezindawo ze-MongoDB. Ukuhlola zonke izinguquko ezidingekayo ku-application yakho. Ukulungiselela upgrade yakho ngokushesha. Ungayifaka ukuhlaziywa kwedivayisi. Yenza ukuhlolwa okuhlobene ngaphambi kokufika upgrade. Ukulungiselela kanjani i-upgrade yakho? Ngemuva kokufaka izinyathelo eziyinhloko zokuphumelela okuphumelela - kuhlanganise ukulawula kokuphumelela ngaphambi kokuphumelela, ukuhlolwa kwe-cluster yokuhlala, kanye nokuphathwa kokuphumelela kwedivayisi - sicela ukubuyekeza ukuthi ukulungiselela yakho kungenzeka. Ukuphumelela ku-MongoDB 8.0 kunezidingo kunezinto eziningi, kuhlanganise inguqulo yakho yamanje, ukulungiselela kwedivayisi, ubukhulu kwedivayisi, kanye nenkinga lokuphumelela. Ukulungiswa okuqhubekayo Uma ungasebenza ku-MongoDB 7.0, kubhalwe ama-drivers ezintsha, futhi usebenza ku-Atlas ephelele, okwenziwe ngokuvamile ngokushesha futhi kulula kakhulu. Kulezi zimo, ukulungiswa kwe-staging cluster, ukuvalwa kwezempilo, nokwenza ukulungiswa kungenziwa ngokushesha, ngokuvamile nge-minimum noma ngaphandle kwe-stoptime. Izinzuzo ezinzima Uma usebenzisa inguqulo esidala (isib. 5.0 noma 6.0), uzodinga ukuhlaziywa ngokushesha (isib. 5.0 → 6.0 → 7.0 → 8.0), njengokungaphambili. Ngaphezu kwalokho, uma ama-driver yakho ayidlulile noma unayo izakhiwo ezisebenzayo, inqubo kungabangela amahora eminingi futhi kuncike ukuhlolwa okuphakeme ukunceda ama-compatibility ama-problems. Njengoba ixesha le-upgrade ingahluka kakhulu ngokuvumelana nezi zimpahla, usebenzisa i-staging cluster njenge-reference (ehlelwe ku-section edlule) Nangona le ndlela akukwazi ukunikezela isikhathi esifanele, kungakwazi ukunikezela ukubukeka kwe-upgrade yamahhala jikelele, okuvumela ukulungiselela ngokuvumelana. can help estimate the duration. Ngaphandle kokubili, ukulandela izindlela ezinhle — njenge-Testing a Stageing Environment and Monitoring Cluster Health — kunikeza ukuhweba okuhlobene futhi enokutholakalayo. Ukusebenza kunzima kakhulu, njengoba upgrading ukunikela ukusebenza okuphumelela, ukhuseleko zokuphucula, futhi izici ezintsha. Ukuphakama Ngokuvamile, isicelo se-MongoDB 8.0 isebenza ngokushesha. Ngokuvamile, isicelo se-MongoDB 8.0 isebenza ngokushesha. Ngokuvamile isicelo se-MongoDB 8.0 isebenza ngokushesha. Umbhali we-Ricardo Mello, Senior Developer Advocate-São Paulo, Brazil. I-Ricardo isekelwe ku-Java ne-Kotlin, nge-Certified as MongoDB Associate Developer kanye ne-Java SE 8 Programmer. Ngezinyanga ezingu-13 ezijoliswe njenge-Software Engineer, uye usebenzise iziqinisekiso zayo ukuncintisana ama-developers kanye nokushintshwa kwezintshiselelo ku-MongoDB. I-MongoDB ibonakalisa ukuxhumana kwenzululwazi, ukholelwa ukuthi iyiphi indlela enhle yokuthumela ibhizinisi. Thola kwakhe ku-LinkedIn. Umbhali we-Ricardo Mello, Senior Developer Advocate-São Paulo, Brazil. I-Ricardo isekelwe ku-Java ne-Kotlin, nge-Certified as MongoDB Associate Developer kanye ne-Java SE 8 Programmer. Ngezinyanga ezingu-13 ezijoliswe njenge-Software Engineer, uye usebenzise iziqinisekiso zayo ukuncintisana ama-developers kanye nokushintshwa kwezintshiselelo ku-MongoDB. I-MongoDB ibonakalisa ukuxhumana kwenzululwazi, ukholelwa ukuthi iyiphi indlela enhle yokuthumela ibhizinisi. Thola kwakhe ku-LinkedIn. U-Ricardo Mello U-Ricardo Mello ikhaya