Kuturikirwa kwechinyorwa kwakagadzirirwa manheru ekutanga kwekosi
Zvikuru:
- Izvo zvakanyanya kukosha kugadzira schema kunyangwe iri sarudzo muMongoDB.
- Saizvozvo, indexes dzinofanirwa kuenderana ne schema yako uye maitiro ekuwana.
- Dzivisa kushandisa zvinhu zvakakura uye mitsara mikuru.
- Ngwarira neMongoDB marongero, kunyanya kana zvasvika pakuchengetedza nekuvimbika.
- MongoDB haina query optimizer, saka iwe unofanirwa kungwarira paunenge uchiita query Operations.
Ndanga ndichishanda nemadhatabhesi kwenguva yakareba kwazvo, asi ndichangowana MongoDB. Pane zvinhu zvishoma zvandinoda kuziva ndisati ndatanga kushanda nazvo. Kana munhu achinge atova neruzivo mune imwe ndima, vane fungidziro dzekare nezve izvo dhatabhesi uye zvavanoita. Netarisiro yekuita kuti zvive nyore kune vamwe kunzwisisa, ndinopa runyoro rwezvikanganiso zvakajairika.
Kugadzira sevha yeMongoDB pasina humbowo
Nehurombo, MongoDB inoiswa isina humbowo nekusarudzika. Kune nzvimbo yekushandira inowanikwa munharaunda, tsika iyi yakajairika. Asi sezvo MongoDB iri yakawanda-mushandisi sisitimu inoda kushandisa yakakura ndangariro, zvichave nani kana iwe ukaiisa pane sevha ine RAM yakawanda sezvinobvira, kunyangwe iwe uchizoishandisa chete kusimudzira. Kuisa pane sevha kuburikidza neiyo default port kunogona kunetsa, kunyanya kana chero javascript kodhi inogona kuitwa mukukumbira (semuenzaniso, $where
sepfungwa yekuti
Kune akati wandei nzira dzechokwadi, asi zviri nyore kuseta mushandisi ID/password. Shandisa iyi pfungwa paunenge uchifunga nezve fancy authentication yakavakirwa pa
Usakanganwa kusunga nzvimbo yako yekurwisa kuMongoDB
,
kana
. Sezvo mafaira edata asina kuvharirwa muMongoDB yakajairwa, zvine musoro kumhanya MongoDB nayo
Kukanganisa pakugadzira dunhu
MongoDB haishandisi schema. Asi izvi hazvirevi kuti chirongwa chacho hachidiwi. Kana iwe uchingoda kuchengeta magwaro pasina chero maitiro anoenderana, kuachengeta kunogona kukurumidza uye nyore, asi kuadzosera gare gare kunogona kuve kwakaoma.
Classic article "
Usakanganwa kurongeka
Kukanganwa kuronga kurongeka kunogona kukonzera kushushikana uye kutambisa nguva yakawanda kupfuura chero imwe isiriyo gadziriso. By default MongoBD inoshandisa
Gadzira kuunganidzwa nemagwaro makuru
MongoDB inofara kugamuchira magwaro mahombe anosvika 16MB mumiunganidzwa, uye
Kugadzira magwaro ane makuru makuru
Zvinyorwa zvinogona kunge zvine mitsara. Zvakanakisa kana huwandu hwezvinhu muhurongwa huri kure nenhamba ine manhamba. Kana zvinhu zvikawedzerwa kune array kazhinji, inokura kupfuura gwaro rine iyo uye inoda kuva
MongoDB ine chimwe chinhu chinonzi
Iwe unogona kufunga kuti iwe unogona kuita pasina array indexing. Sezvineiwo, kushaikwa kwemaindex kungakonzera kuti uve nemamwe matambudziko. Sezvo magwaro akaongororwa kubva pakutanga kusvika kumagumo, kutsvaga zvinhu pamagumo ehurongwa kunotora nguva yakareba, uye mabasa mazhinji ane chekuita negwaro rakadaro achave.
Usakanganwa kuti kurongeka kwematanho mukuunganidzwa kunokosha
Mune dhatabhesi system ine query optimizer, mibvunzo yaunonyora itsananguro dzezvauri kuda kuwana, kwete kuti ungazviwana sei. Iyi meshini inoshanda nekuenzanisa nekuraira muresitorendi: kazhinji unongoodha ndiro, uye usape yakadzama mirairo kumubiki.
MuMongoDB, unoraira mubiki. Semuenzaniso, unofanirwa kuve nechokwadi chekuti data inopfuura reduce
nekukurumidza sezvinobvira mupombi uchishandisa $match
ΠΈ $project
, uye kuronga kunoitika chete mushure reduce
, uye kuti kutsvaga kunoitika nenzira chaiyo yaunoda. Kuve nemubvunzo optimizer unobvisa basa risingakoshe, kunyatsoteedzera nhanho, uye sarudza majoini marudzi zvinogona kukanganisa iwe. NeMongoDB, une humwe hutongi pamutengo wekureruka.
Zvishandiso zvakafanana
Kushandisa Quick Recording
Usambofa wakaseta MongoDB kunyora sarudzo kuti uve nekumhanya kwakanyanya asi kushoma kuvimbika. Iyi modhi "faira-uye-kanganwa" inoita seyakakurumidza nekuti murairo unodzoswa kunyora kusati kwaitika. Kana iyo system ikaputsika iyo data isati yanyorwa ku diski, icharasika uye inoguma mune isingaenderane mamiriro. Sezvineiwo, 64-bit MongoDB ine matanda yakagoneswa.
Iyo MMAPv1 uye WiredTiger kuchengetedza injini dzinoshandisa kutema matanda kudzivirira izvi, kunyangwe WiredTiger inogona kupora kune yekupedzisira inowirirana.
Kunyora nhau kunovimbisa kuti dhatabhesi iri mumamiriro ezvinhu anowirirana mushure mekupora uye inochengetedza data yose kusvikira yanyorwa kumagazini. Iyo frequency yekurekodha inogadziriswa uchishandisa parameter
.
Kuti uve nechokwadi chezvapinda, ita shuwa kuti matanda anogoneswa mufaira rekugadzirisa
, uye kuwanda kwekurekodha kunoenderana nehuwandu hwemashoko aungakwanise kurasikirwa nawo.
Kuronga pasina index
Paunenge uchitsvaga nekuunganidza, kazhinji pane kudikanwa kwekugadzirisa data. Ngativimbei kuti izvi zvichaitwa pane imwe yematanho ekupedzisira, mushure mekusefa mhedzisiro kuitira kuderedza huwandu hwe data iri kurongwa. Uye kunyange munyaya iyi, pakugadzirisa iwe uchada
Kana pasina indekisi yakakodzera, MongoDB ichaita pasina iyo. Kune muganho wekurangarira we32 MB pahukuru hwese hwemagwaro ese mukati
Tsvaga pasina index rutsigiro
Mibvunzo yekutsvaga inoita basa rakafanana neJOIN mashandiro muSQL. Kuti vashande zvakanyanya, vanoda index yekukosha kwekiyi inoshandiswa sekiyi yekune dzimwe nyika. Izvi hazvisi pachena nekuti kushandiswa hakuna kuratidzwa mukati explain()
. Ma indices akadaro ari kuwedzera kune indekisi yakanyorwa mukati explain()
, iyo inoshandiswawo nevanofambisa pipeline $match
ΠΈ $sort
, pavanosangana panotangira pombi. Indekisi zvino inogona kuvhara chero nhanho
Kubuda mukushandisa akawanda-updates
Method
rinoshandiswa kushandura chikamu chegwaro riripo kana gwaro rose, kusvika pakutsiva kwakakwana, zvichienderana neparameter yaunotsanangura
. Izvo zvisiri pachena zvakanyanya ndezvekuti hazvizogadzirise magwaro ese muunganidzwa kunze kwekunge waisa sarudzo
kugadzirisa magwaro ese anoenderana nezvinodiwa zvekukumbira.
Usakanganwa kukosha kwekurongeka kwemakiyi mutafura yehashi
MuJSON, chinhu chine muunganidzwa usina kurongeka wezero kana mamwe mazita/value peya, apo zita itambo uye kukosha itambo, nhamba, boolean, null, chinhu, kana array.
Nehurombo, BSON inoisa zvakanyanya kukoshesa pakurongeka kana uchitsvaga. MuMongoDB, kurongeka kwemakiyi mukati mezvakavakirwa-mukati zvinhu { firstname: "Phil", surname: "factor" }
- izvi hazvina kufanana { { surname: "factor", firstname: "Phil" }
. Ndokureva kuti, iwe unofanirwa kuchengetedza kurongeka kwezita / kukosha pairi mumagwaro ako kana iwe uchida kuve nechokwadi chekuwana iwo.
Usavhiringika "Null" ΠΈ "undefined"
ukoshi "undefined" haina kumbobvira yashanda muJSON, maererano $null
, iyo isiri nguva dzose mhinduro yakanaka.
Shandisa $limit()
kunze $sort()
Kazhinji kana iwe uchigadzira muMongoDB, zvinobatsira kungoona sampuli yemhedzisiro inozodzoserwa kubva kumubvunzo kana kuunganidzwa. Nokuda kwebasa iri iwe uchada $limit()
, asi haifanire kunge iri mukodhi yekupedzisira kunze kwekunge wamboishandisa $sort
. Iyi mechanic inodiwa nekuti kana zvisina kudaro haugone kuvimbisa kurongeka kwemhedzisiro, uye haugone kuona nekuvimbika data. Pamusoro pechigumisiro iwe uchawana zvinyorwa zvakasiyana zvichienderana nekugadzirisa. Kuti ushande zvakavimbika, mibvunzo uye kuunganidzwa kunofanirwa kuve kwechisungo, ndiko kuti, kuburitsa mibairo yakafanana pese pavanenge vachiurayiwa. Kodhi ine $limit()
, asi kwete $sort
, haizove deterministic uye zvinogona kuzokonzera zvikanganiso zvichave zvakaoma kutevera.
mhedziso
Nzira chete yekuodzwa mwoyo neMongoDB ndeyekuienzanisa zvakananga kune imwe mhando yedatabase, yakadai seDBMS, kana kuuya kuzoishandisa zvichienderana nezvimwe zvinotarisirwa. Zvakafanana nekuenzanisa orenji neforogo. Database masisitimu anoshandira zvinangwa chaizvo. Zvakanakisa kuti ungonzwisisa nekukoshesa misiyano iyi iwe pachako. Zvingave zvinonyadzisa kumanikidza vagadziri veMongoDB pamusoro penzira yakavamanikidza pasi munzira yeDBMS. Ini ndinoda kuona nzira nyowani uye dzinonakidza dzekugadzirisa matambudziko ekare, sekuvimbisa kutendeseka kwedata uye kugadzira masisitimu edata anoshingirira kukundikana uye kurwiswa kwakashata.
Kusuma kweMongoDB kweACID transactionality muvhezheni 4.0 muenzaniso wakanaka wekuunza kuvandudzwa kwakakosha nenzira itsva. Multi-document uye multi-statement transactions ikozvino atomic. Izvo zvakare zvinogoneka kugadzirisa iyo nguva inodiwa kuti uwane makiyi uye kumisa yakabatikana kutengeserana, pamwe nekushandura iyo yekuzviparadzanisa nevamwe.
Verenga zvimwe:
Source: www.habr.com