14 nga mea e hiahia ana ahau kia mohio ahau i mua i te tiimata me MongoDB

I whakaritea te whakamaoritanga o te tuhinga i te ahiahi o te timatanga o te akoranga "Patengi raraunga kore hononga".

14 nga mea e hiahia ana ahau kia mohio ahau i mua i te tiimata me MongoDB

Ngā Whakaaturanga:

  • He mea nui ki te whakawhanake i te aronuinga ahakoa he mea kowhiri ki MongoDB.
  • Waihoki, me rite nga taupū ki to aronuinga me nga tauira uru.
  • A ape i te whakamahi i nga taonga nui me nga huinga nui.
  • Kia tupato ki nga tautuhinga MongoDB, ina koa mo te haumaru me te pono.
  • Ko te MongoDB karekau he moroiti patai, no reira me tupato koe i te wa e mahi ana i nga mahi patai.

Kua roa ahau e mahi ana me nga papaa raraunga, engari no tata nei ka kitea a MongoDB. He iti nga mea e hiahia ana ahau kia mohio ahau i mua i taku tiimata ki te mahi. I te wa kua whai wheako te tangata ki tetahi waahi, he whakaaro o mua mo te aha nga papaa raraunga me nga mahi. I runga i te tumanako kia maamaa ake te maarama mo etahi atu, ka whakaatuhia e ahau he rarangi o nga hapa noa.

Te hanga i te tūmau MongoDB me te kore motuhēhēnga

Engari, ka whakauruhia a MongoDB me te kore motuhēhēnga taunoa. Mo te teihana mahi ka uru atu ki te rohe, he tikanga noa tenei mahi. Engari i te mea ko MongoDB he punaha maha-kaiwhakamahi e pai ana ki te whakamahi i te nui o te mahara, ka pai ake mena ka tukuna e koe ki runga i te tūmau me te nui o te RAM ka taea, ahakoa ka whakamahia e koe mo te whanaketanga. Ko te whakauru ki runga i te tūmau ma te tauranga taunoa ka raru pea, ina koa ka taea te mahia tetahi waehere javascript i roto i te tono (hei tauira, $where hei whakaaro mo injections).

He maha nga tikanga motuhēhēnga, engari ko te mea ngawari ko te whakatakoto i te ID kaiwhakamahi/kupuhipa. Whakamahia tenei whakaaro i a koe e whakaaro ana mo te whakamotuhēhēnga rerehua i runga LDAP. I te wa e pa ana ki te haumarutanga, me whakahou tonu a MongoDB, me tirotirohia nga raarangi mo te uru kore mana. Hei tauira, he pai ki ahau te kowhiri i tetahi tauranga rereke hei tauranga taunoa.

Kaua e wareware ki te here i te mata whakaeke ki MongoDB

MongoDB Te Rarangi Arowhai Haumarutanga kei roto nga tohutohu pai mo te whakaiti i te tupono o te urunga whatunga me te rerenga raraunga. He ngawari ki te parai atu me te kii kaore e hiahiatia e te tūmau whanaketanga he taumata haumarutanga teitei. Heoi, ehara i te mea ngawari ka pa ana tenei ki nga kaiwhakarato MongoDB katoa. Ina koa, mena kaore he take kaha ki te whakamahi mapReduce, group ranei $i hea, me whakakorehia e koe te whakamahi i te waehere noa i roto i te JavaScript ma te tuhi ki te konae whirihoranga javascriptEnabled:false. I te mea kaore nga konae raraunga i whakamunatia ki te MongoDB paerewa, he mea tika ki te whakahaere MongoDB me Kaiwhakamahi Motuhake, e whai waahi katoa ana ki nga konae, me te iti o te uru ki a ia me te kaha ki te whakamahi i nga mana uru o te punaha whakahaere.

Hapa i te wa e whakawhanake ana i te ara iahiko

Karekau a MongoDB e whakamahi aronuinga. Engari ehara tenei i te mea kaore e hiahiatia te kaupapa. Mena kei te pirangi koe ki te penapena tuhinga kaore he tauira rite, ka tere me te ngawari te penapena, engari he uaua ki te tiki mai i muri mai. whakatara pakeke.

Tuhinga tawhito "6 Ture Komatua mo te Hoahoa Aronui MongoDB" He pai te panui, me nga ahuatanga penei Pūtirotiro Aronuinga i roto i te taputapu tuatoru Studio 3T, he pai te whakamahi mo nga arowhai i nga wa katoa.

Kaua e wareware ki te raupapa raupapa

Ko te wareware i te raupapa raupapa ka nui ake te pouri me te moumou taima atu i era atu whirihoranga he. Ma te whakamahi a MongoBD taunoa momo rua. Engari kare pea e whai hua ki tetahi. Ko nga momo kupu-tairongo, tairongo-a-rua, i kiia he anachronism me nga pirepire, nga caftans me nga ngutu mingimingi i nga tau 80 o te rau tau kua hipa. Inaianei kua kore e murua to raatau whakamahinga. I roto i te ora tonu, ko te "motopaika" he rite tonu ki te "Motiika". A ko "Britain" me "Britain" te waahi kotahi. Ko te reta iti he rite noa ki te reta matua. A kaua ahau e timata ki te whakariterite i nga kupu tuhi. I te wa e hanga ana he papaa raraunga ki MongoDB, whakamahia te kohinga nako-kore me te rehita, e hāngai ana ki te reo me te ahurea kaiwhakamahi pūnaha. Ma tenei ka ngawari ake te rapu i nga raraunga aho.

Waihangahia nga kohinga me nga tuhinga nui

Kei te harikoa a MongoDB ki te manaaki i nga tuhinga nui ki te 16MB i roto i nga kohinga, a MātitiFS I hoahoatia mo nga tuhinga nui nui ake i te 16 MB. Engari na te mea ka taea te whakatakoto i nga tuhinga nunui ki reira, karekau he whakaaro pai ki te penapena ki reira. Ka pai ake te mahi a MongoDB mena ka penapena koe i nga tuhinga takitahi he iti noa nga kiropaita te rahi, ka rite ki nga rarangi o te ripanga SQL whanui. Ko nga tuhinga nui ka waiho hei take raruraru hua.

Te hanga tuhinga me nga huinga nui

Kei roto i nga tuhinga nga rarangi. He pai ake mena kei tawhiti atu te maha o nga huānga o te huinga i te tau mati-wha. Mēnā ka tāpirihia ngā huānga ki tētahi huānga, ka nui ake te tuhinga kei roto, ā, me noho neke, ko te tikanga ka tika whakahōu i ngā taupū hoki. I te wa e tohuhia ana he tuhinga me te huinga nui, he maha nga wa ka tuhiruatia nga tohu, na te mea he he rekoata, e pupuri ana i tana taurangi. Ka puta ano tenei taupūtanga ina whakaurua he tuhinga, ka mukua ranei.

Kei a MongoDB tetahi mea e kiia ana "tauwehe whakakī", e whakarato ana i te waahi mo nga tuhinga ki te tipu hei whakaiti i tenei raruraru.
Ka whakaaro pea koe ka taea e koe te mahi me te kore he rarangi taupū. Kia aroha mai, na te kore o nga taurangi ka raru pea koe. I te mea ka karapahia nga tuhinga mai i te timatanga ki te mutunga, ka roa ake te rapu i nga huānga kei te mutunga o te rarangi, a ko te nuinga o nga mahi e pa ana ki taua tuhinga ka pōturi.

Kaua e wareware he mea nui te raupapa o nga wahanga o te whakahiato

I roto i te punaha putunga korero me te arotau patai, ko nga patai ka tuhia e koe he whakamaarama mo nga mea e hiahia ana koe ki te tiki, kaua me pehea te tiki. Ka mahi tenei tikanga ma te whakataurite ki te ota i roto i te wharekai: ko te tikanga ka ota noa koe i tetahi rihi, karekau e hoatu tohutohu taipitopito ki te kai tunu.

I MongoDB, ka ako koe i te tunu kai. Hei tauira, me mohio koe ka haere nga raraunga reduce i te wa e taea ai i roto i te paipa te whakamahi $match и $project, a ka puta te tohatoha i muri noa iho reduce, ka puta te rapunga i runga i te raupapa e hiahia ana koe. Ka taea e koe te whakararu i a koe na te mea he kaiarotau patai ka whakakore i nga mahi koretake, ka taea e koe te whakaraupapa i nga hikoinga me te kowhiri i nga momo hono. Ma te MongoDB, ka nui ake to mana whakahaere mo te utu pai.

Utauta rite Studio 3T ka whakangwarihia te hanga o nga patai whakahiato ki roto MongoDB. Ko te ahuatanga o te Kaiwhakatika Whakakotahitanga ka taea e koe te tono i nga korero paipa kotahi i ia wa, me te tirotiro i nga raraunga whakauru me te whakaputanga i ia wahanga ki te whakangawari i te patuiro.

Ma te Hopu Tere

Kaua rawa e tautuhi i nga whiringa tuhi a MongoDB kia tere tere engari iti te pono. Tenei aratau "kōnae-a-wareware" he tere te ahua na te mea ka whakahokia mai te whakahau i mua i te puta o te tuhi. Mena ka pakaru te punaha i mua i te tuhi i nga raraunga ki te kōpae, ka ngaro, ka mutu i roto i te ahua koretake. Waimarie, 64-bit MongoDB kua whakahohea te takiuru.

Ko nga miihini rokiroki MMAPv1 me WiredTiger e whakamahi ana i te takiuru ki te aukati i tenei, ahakoa ka taea e WiredTiger te whakaora ki te waa whakamutunga. wāhi mana, ki te monokia te takiuru.

Ko te tuhi tuhipoka ka whakarite kia rite tonu te ahua o te patengi raraunga i muri i te whakaoranga me te pupuri i nga raraunga katoa kia tuhia ra ano ki te hautaka. Ka whirihorahia te auau o nga rekoata ma te whakamahi i te tawhā commitIntervalMs.

Kia mohio ki nga whakaurunga, me mohio kei te whakahohea te takiuru ki te konae whirihoranga (storage.journal.enabled), me te auau o nga rekoata e rite ana ki te nui o nga korero ka taea e koe te ngaro.

Kōmaka kore taupū

I te wa e rapu ana me te whakahiato, he maha nga wa e hiahia ana ki te komaka raraunga. Ko te tumanako ka mahia tenei i tetahi o nga waahanga whakamutunga, i muri i te tātari i te hua hei whakaiti i te nui o nga raraunga ka tohua. A ahakoa i tenei keehi, mo te tohatoha ka hiahia koe taupū. Ka taea e koe te whakamahi i te taupū kotahi, i te huinga huinga ranei.

Mena kaore he taurangi e tika ana, ka mahi a MongoDB me te kore. He tepe mahara 32 MB mo te rahinga katoa o nga tuhinga kei roto ngā mahi kōmaka, a ki te eke a MongoDB ki tenei rohe, katahi ka maka he hapa, ka hoki mai ranei rekoata kau.

Rapu kore tautoko taupū

Ko nga uiui rapu he mahi rite ki te mahi JOIN i SQL. Kia pai ake ai te mahi, me tohu te taupū o te uara o te kī i whakamahia hei kī ke. Kaore tenei i te kitea na te mea kaore i te whakaatuhia te whakamahinga explain(). Ko enei tohu he taapiri ki te taurangi kua tuhia ki roto explain(), ka whakamahia e nga kaiwhakahaere paipa $match и $sort, ka tutaki ratou i te timatanga o te paipa. Ka taea e nga taurangi te hipoki i nga waahanga katoa paipa whakahiato.

Te whakakore i te whakamahi i nga whakahōunga maha

Tikanga db.collection.update() whakamahia ki te huri i tetahi waahanga o te tuhinga o mua, o te tuhinga katoa ranei, tae noa ki te whakakapinga katoa, i runga i te tawhā ka tohua e koe update. Ko te mea kaore i tino kitea ko te kore e tukatuka i nga tuhinga katoa i roto i te kohinga mena ka whakatauhia e koe te whiringa multi ki te whakahou i nga tuhinga katoa e tutuki ana i nga paearu tono.

Kaua e wareware ki te hiranga o te raupapa o nga taviri i roto i te ripanga hash

I roto i te JSON, kei roto i tetahi ahanoa he kohinga kore raupapa o te rahi kore, neke atu ranei nga takirua ingoa/uara, ko te ingoa he aho me te uara he aho, tau, boolean, null, ahanoa, huranga ranei.

Heoi ano, he nui te aro o BSON ki te ota ina rapu. I MongoDB, te raupapa o nga taviri i roto i nga mea hanga-i roto take, i.e. { firstname: "Phil", surname: "factor" } - ehara tenei i te rite { { surname: "factor", firstname: "Phil" }. Arā, me penapena e koe te raupapa ingoa/uara takirua ki roto i o tuhinga ki te hiahia koe kia tino kitea.

Kaua e whakapoauau "Kore" и "kaore i tautuhia"

uara "kaore i tautuhia" kaore i whai mana i JSON, e ai ki paerewa mana JSON (ECMA-404 Wāhanga 5), ​​ahakoa kei te whakamahia i roto i te JavaScript. I tua atu, mo te BSON kua tawhitotia, kua hurihia ki $null, ehara i te mea he otinga pai i nga wa katoa. A ape i te whakamahi "kaore i tautuhia" i MongoDB.

Whakamahia $limit() kaore $sort()

I te nuinga o nga wa i te wa e whanake ana koe i MongoDB, he pai ki te kite i tetahi tauira o te hua ka whakahokia mai i tetahi patai, whakahiato ranei. Mo tenei mahi ka hiahia koe $limit(), engari kaua rawa e uru ki te waehere whakamutunga mena ka whakamahia e koe i mua $sort. He mea tika tenei miihini na te mea kaore e taea e koe te kii i te raupapa o te hua, ka kore e taea e koe te tiro pono i nga raraunga. I te tihi o te hua ka whiwhi koe i nga whakaurunga rereke i runga i te tohatoha. Kia pono te mahi, ko nga patai me nga whakahiatotanga me tino whakatau, ara, kia rite nga hua i nga wa katoa ka mahia. Waehere kei roto $limit(), engari kaore $sort, karekau e tino mohio, ka puta he hapa ka uaua ki te whai.

mutunga

Ko te huarahi anake e pouri ai ki a MongoDB ko te whakataurite tika ki tetahi atu momo putunga, penei i te DBMS, ka haere mai ranei ki te whakamahi i runga i etahi o nga tumanako. He rite ki te whakatairite i te karaka ki te marau. Ko nga punaha raraunga e mahi ana i nga kaupapa motuhake. He pai ake te mohio me te maioha ki enei rereketanga mo koe ake. He mea whakama ki te pehi i nga kaiwhakawhanake MongoDB i runga i te huarahi i pehia ai ratou ki te ara DBMS. Kei te hiahia ahau ki te kite i nga huarahi hou me nga huarahi whakamere ki te whakaoti rapanga tawhito, penei i te whakarite i te pono o te raraunga me te hanga i nga punaha raraunga e kaha ana ki te kore me nga whakaeke kino.

Ko te whakaurunga a MongoDB mo te ACID transactionality i roto i te putanga 4.0 he tauira pai mo te whakauru i nga whakapainga nui i roto i te huarahi auaha. Ko nga tauwhitinga tuhinga maha me nga korero maha kua ngota inaianei. Ka taea hoki te whakatika i te wa e hiahiatia ana ki te whiwhi raka me te whakamutu i nga tauwhitinga piri, me te whakarereke i te taumata wehe.

14 nga mea e hiahia ana ahau kia mohio ahau i mua i te tiimata me MongoDB

Pānuitia atu:

Source: will.com

Tāpiri i te kōrero