Ullmhaíodh aistriúchán an ailt ar an oíche roimh thús an chúrsa
Buaicphointí:
- Tá sé thar a bheith tábhachtach scéimre a fhorbairt cé go bhfuil sé roghnach i MongoDB.
- Ar an gcaoi chéanna, caithfidh innéacsanna teacht le do scéimre agus patrúin rochtana.
- Seachain rudaí móra agus eagair mhóra a úsáid.
- Bí cúramach le socruithe MongoDB, go háirithe nuair a thagann sé le slándáil agus iontaofacht.
- Níl optimizer fiosrúcháin ag MongoDB, mar sin ní mór duit a bheith cúramach agus oibríochtaí fiosrúcháin á ndéanamh agat.
Tá mé ag obair le bunachair shonraí le fada an lá, ach níor aimsíodh MongoDB le déanaí. Tá cúpla rud ar mhaith liom a bheith ar eolas agam sular thosaigh mé ag obair leis. Nuair a bhíonn taithí ag duine cheana féin i réimse áirithe, tá tuairimí réamhcheaptha acu faoi cad is bunachair shonraí ann agus cad a dhéanann siad. Agus súil agam é a dhéanamh níos fusa do dhaoine eile a thuiscint, cuirim liosta de bhotúin choitianta i láthair.
Freastalaí MongoDB a chruthú gan fíordheimhniú
Ar an drochuair, tá MongoDB suiteáilte gan fíordheimhniú de réir réamhshocraithe. Maidir le stáisiún oibre a bhfuil rochtain air go háitiúil, is gnáth an cleachtas seo. Ach ós rud é gur córas il-úsáideoir é MongoDB ar maith leis méideanna móra cuimhne a úsáid, beidh sé níos fearr má chuireann tú é ar fhreastalaí leis an oiread RAM agus is féidir, fiú mura bhfuil tú chun é a úsáid ach le haghaidh forbartha. Is féidir fadhbanna a bheith ag baint le suiteáil ar an bhfreastalaí tríd an bport réamhshocraithe, go háirithe más féidir aon chód javascript a chur i bhfeidhm san iarratas (mar shampla, $where
mar smaoineamh le haghaidh
Tá go leor modhanna fíordheimhnithe ann, ach is é an ceann is éasca ID úsáideora / pasfhocal a shocrú. Bain úsáid as an smaoineamh seo agus tú ag smaoineamh ar fhíordheimhniú mhaisiúil bunaithe ar
Ná déan dearmad an dromchla ionsaí a cheangal le MongoDB
,
nó
. Ós rud é nach bhfuil comhaid sonraí criptithe i MongoDB caighdeánach, tá sé ciallmhar MongoDB a rith leis
Earráid agus an ciorcad á fhorbairt
Ní úsáideann MongoDB scéimre. Ach ní chiallaíonn sé seo nach bhfuil gá leis an scéim. Más mian leat ach doiciméid a stóráil gan aon phatrún comhsheasmhach, is féidir iad a stóráil go tapa agus éasca, ach is féidir go mbeadh sé deacair iad a aisghabháil níos déanaí.
alt clasaiceach"
Ná déan dearmad ar an sórtáil
Féadann níos mó frustrachais a bheith mar thoradh ar dearmad a dhéanamh ar ordú sórtála agus níos mó ama a chur amú ná aon chumraíocht mhícheart eile. De réir réamhshocraithe úsáideann MongoBD
Cruthaigh bailiúcháin le doiciméid mhóra
Tá MongoDB sásta doiciméid mhóra suas le 16MB a óstáil i mbailiúcháin, agus
Doiciméid a chruthú le eagair mhóra
Is féidir eagair a bheith sna doiciméid. Is fearr líon na ndúl san eagar a bheith i bhfad ó uimhir ceithre dhigit. Má chuirtear gnéithe le sraith go minic, beidh sé níos mó ná an doiciméad ina bhfuil sé agus beidh gá leis
Tá rud éigin ar a dtugtar ag MongoDB
B'fhéidir go gceapfá gur féidir leat a dhéanamh gan innéacsú eagair. Ar an drochuair, d'fhéadfadh easpa innéacsanna a bheith ina chúis le fadhbanna eile a bheith agat. Ós rud é go ndéantar doiciméid a scanadh ó thús go deireadh, tógfaidh sé níos faide cuardach a dhéanamh ar eilimintí ag deireadh an eagar, agus déanfar an chuid is mó de na hoibríochtaí a bhaineann le doiciméad den sórt sin
Ná déan dearmad go bhfuil tábhacht le hord na gcéimeanna sa chomhiomlánú
I gcóras bunachar sonraí le huasmhéadóir fiosrúcháin, is míniú iad na ceisteanna a scríobhann tú ar cad ba mhaith leat a fháil, ní conas é a fháil. Oibríonn an mheicníocht seo de réir analaí le hordú i mbialann: de ghnáth ní ordaíonn tú ach mias, agus ní thugann tú treoracha mionsonraithe don chócaire.
I MongoDB, tugann tú treoir don chócaire. Mar shampla, ní mór duit a chinntiú go dtéann na sonraí tríd reduce
chomh luath agus is féidir sa phíblíne ag baint úsáide as $match
и $project
, agus ní tharlaíonn sórtáil ach amháin tar éis reduce
, agus go dtarlaíonn an cuardach san ord go díreach atá uait. Má bhíonn optimizer fiosrúcháin agat a chuireann deireadh le hobair neamhriachtanach, a sheicheamhaíonn céimeanna ar an mbealach is fearr is féidir, agus a roghnaíonn cineálacha ceangail, is féidir leat do mhilleadh. Le MongoDB, tá níos mó smachta agat ar chostas áise.
Uirlisí cosúil le
Ag baint úsáide as Taifeadadh Tapa
Ná socraigh roghanna scríobh MongoDB riamh le go mbeidh ardluais ach iontaofacht íseal. An mód seo "comhad-agus-dearmad" cosúil go tapa toisc go gcuirtear an t-ordú ar ais sula dtarlaíonn an scríobh. Má thiteann an córas sula scríobhtar na sonraí ar diosca, caillfear é agus beidh sé ar neamhréir. Ar ámharaí an tsaoil, tá an logáil cumasaithe ag MongoDB 64-giotán.
Úsáideann na hinnill stórála MMAPv1 agus WiredTiger logáil chun é seo a chosc, cé gur féidir le WiredTiger aisghabháil go dtí an comhsheasamh deiridh
Cinntíonn Journaling go bhfuil an bunachar sonraí i riocht comhsheasmhach tar éis é a ghnóthú agus coimeádann sé na sonraí go léir go dtí go scríobhtar chuig an loga é. Tá minicíocht na dtaifeadtaí cumraithe ag baint úsáide as an bparaiméadar
.
Le bheith cinnte de na hiontrálacha, déan cinnte go bhfuil logáil cumasaithe sa chomhad cumraíochta
, agus comhfhreagraíonn minicíocht na dtaifeadtaí leis an méid faisnéise is féidir leat a chailleadh.
Sórtáil gan innéacs
Nuair a dhéantar cuardach agus comhiomlánú, is minic go mbíonn gá le sonraí a shórtáil. Tá súil againn go ndéanfar é seo ag ceann de na céimeanna deiridh, tar éis an toradh a scagadh chun an méid sonraí atá á sórtáil a laghdú. Agus fiú sa chás seo, le haghaidh sórtáil beidh ort
Mura bhfuil innéacs oiriúnach ann, déanfaidh MongoDB gan é. Tá teorainn chuimhne de 32 MB ar mhéid iomlán na ndoiciméad go léir i
Cuardaigh gan tacaíocht innéacs
Feidhmíonn ceisteanna cuardaigh feidhm cosúil leis an oibríocht JOIN in SQL. Chun an obair is fearr a dhéanamh, teastaíonn uathu innéacs luach na heochrach a úsáidtear mar an eochair choigríche. Níl sé seo soiléir toisc nach bhfuil an úsáid léirithe i explain()
. Tá innéacsanna den sórt sin sa bhreis ar an innéacs atá scríofa i explain()
, a úsáideann oibreoirí píblíne ar a seal $match
и $sort
, nuair a bhíonn siad le chéile ag tús na píblíne. Is féidir le hinnéacsanna aon chéim a chlúdach anois
Diúltú as il-nuashonruithe a úsáid
Modh
a úsáidtear chun cuid de dhoiciméad atá ann cheana féin nó den doiciméad iomlán a athrú, suas go dtí ceann eile a athchur, ag brath ar an bparaiméadar a shonraíonn tú
. Is é an rud nach bhfuil chomh soiléir sin ná nach bpróiseálfaidh sé gach doiciméad sa bhailiúchán mura bhfuil an rogha socraithe agat
na doiciméid go léir a chomhlíonann na critéir iarratais a nuashonrú.
Ná déan dearmad ar an tábhacht a bhaineann leis an ord na heochracha i tábla hash
In JSON, is éard atá i réad ná bailiúchán neamhordaithe de mhéid náid nó níos mó péirí ainm/luacha, áit ar sreang é an t-ainm agus is teaghrán, uimhir, Boole, null, réad nó eagar é luach.
Ar an drochuair, cuireann BSON go leor béime ar ord agus é á chuardach. I MongoDB, ord na n-eochracha laistigh de réada ionsuite { firstname: "Phil", surname: "factor" }
- ní hionann é seo agus { { surname: "factor", firstname: "Phil" }
. Is é sin, ní mór duit ord na mbeirteanna ainm/luacha a stóráil i do dhoiciméid más mian leat a bheith cinnte go bhfaighidh tú iad.
Ná bíodh mearbhall ort "Neamh" и "neamhshainithe"
Luach "neamhshainithe" ní raibh sé bailí riamh i JSON, de réir $null
, nach bhfuil i gcónaí ar réiteach maith.
Úsáid $limit()
без $sort()
Go minic agus tú ag forbairt i MongoDB, tá sé úsáideach sampla den toradh a fheiceáil a thabharfar ar ais ó cheist nó ó chomhiomlánú. Chun an tasc seo beidh ort $limit()
, ach níor cheart go mbeadh sé sa chód deiridh mura n-úsáideann tú é roimhe seo $sort
. Tá an meicneoir seo riachtanach mar ní féidir leat ordú an toraidh a ráthú, agus ní bheidh tú in ann féachaint ar na sonraí go hiontaofa. Ag barr an toraidh gheobhaidh tú iontrálacha éagsúla ag brath ar an sórtáil. Chun oibriú go hiontaofa, ní mór fiosrúcháin agus comhiomláin a bheith cinntitheach, is é sin, na torthaí céanna a tháirgeadh gach uair a dhéantar iad. Cód ina bhfuil $limit()
, ach níl $sort
, ní bheidh sé cinntitheach agus d'fhéadfadh sé a bheith ina chúis le hearráidí a bheidh deacair a rianú síos.
Conclúid
Is é an t-aon bhealach le bheith díomá le MongoDB ná é a chur i gcomparáid go díreach le cineál eile bunachar sonraí, mar shampla DBMS, nó teacht chun é a úsáid bunaithe ar ionchais áirithe. Tá sé cosúil le oráiste a chur i gcomparáid le forc. Freastalaíonn córais bunachar sonraí ar chuspóirí sonracha. Is fearr na difríochtaí seo a thuiscint agus a thuiscint duit féin. Bheadh sé ina náire brú a chur ar fhorbróirí MongoDB thar chosán a chuir iallach orthu síos cosán DBMS. Ba mhaith liom bealaí nua agus suimiúla a fheiceáil chun seanfhadhbanna a réiteach, amhail sláine sonraí a chinntiú agus córais sonraí a chruthú atá athléimneach in aghaidh teip agus ionsaithe mailíseacha.
Is sampla maith é tabhairt isteach MongoDB ar idirbheartaíocht ACID i leagan 4.0 d'fheabhsuithe tábhachtacha a thabhairt isteach ar bhealach nuálaíoch. Tá idirbhearta ildhoiciméad agus ilráitis anois adamhach. Is féidir freisin an t-am a theastaíonn chun glais a fháil agus idirbhearta bhfostú a fhoirceannadh, chomh maith leis an leibhéal leithlis a athrú.
Leigh Nios mo:
Foinse: will.com