Chaidh an eadar-theangachadh den artaigil ullachadh air an oidhche ro thoiseach a’ chùrsa
Prìomh thachartasan:
- Tha e air leth cudromach sgeama a leasachadh ged a tha e roghainneil ann am MongoDB.
- Mar an ceudna, feumaidh clàran-amais a bhith a rèir do sgeama agus pàtrain ruigsinneachd.
- Seachain a bhith a’ cleachdadh stuthan mòra agus arrays mòra.
- Bi faiceallach le roghainnean MongoDB, gu sònraichte nuair a thig e gu tèarainteachd agus earbsachd.
- Chan eil optimizer ceiste aig MongoDB, mar sin feumaidh tu a bhith faiceallach nuair a bhios tu a’ dèanamh obair ceiste.
Tha mi air a bhith ag obair le stòran-dàta airson ùine mhòr, ach cha do lorg mi MongoDB o chionn ghoirid. Tha beagan rudan ann a bu mhath leam a bhith eòlach air mus do thòisich mi ag obair leis. Nuair a tha eòlas aig neach mu thràth ann an raon sònraichte, tha iad air ro-bheachdachadh air beachdan mu dè a th’ ann an stòran-dàta agus dè bhios iad a’ dèanamh. Le dòchas gum bi e nas fhasa do dhaoine eile a thuigsinn, tha mi a’ taisbeanadh liosta de mhearachdan cumanta.
A 'cruthachadh frithealaiche MongoDB gun dearbhadh
Gu mì-fhortanach, tha MongoDB air a chuir a-steach gun dearbhadh gu bunaiteach. Airson ionad-obrach a gheibhear gu h-ionadail, tha an cleachdadh seo àbhaisteach. Ach leis gur e siostam ioma-chleachdaiche a th’ ann am MongoDB a tha dèidheil air meudan mòra de chuimhne a chleachdadh, bidh e nas fheàrr ma chuireas tu e air frithealaiche le uiread de RAM ’s as urrainn, eadhon ged nach eil thu ach ga chleachdadh airson leasachadh. Faodaidh duilgheadas a bhith ann an stàladh air an fhrithealaiche tron phort bunaiteach, gu sònraichte ma ghabhas còd javascript sam bith a chuir an gnìomh san iarrtas (mar eisimpleir, $where
mar bheachd airson
Tha grunn dhòighean dearbhaidh ann, ach is e an dòigh as fhasa ID cleachdaiche / facal-faire a shuidheachadh. Cleachd am beachd seo fhad ‘s a smaoinicheas tu air dearbhadh sùbailte stèidhichte air
Na dìochuimhnich an uachdar ionnsaigh agad a cheangal ri MongoDB
,
no
. Leis nach eil faidhlichean dàta air an cuairteachadh ann am MongoDB àbhaisteach, tha e ciallach MongoDB a ruith le
Thachair mearachd fhad 's a bha sinn a' leasachadh a' chuairte
Cha bhith MongoDB a’ cleachdadh sgeama. Ach chan eil seo a' ciallachadh nach eil feum air an sgeama. Ma tha thu dìreach airson sgrìobhainnean a stòradh gun phàtran cunbhalach sam bith, faodaidh an stòradh a bhith luath agus furasta, ach faodaidh e a bhith duilich an toirt air ais nas fhaide air adhart.
Artaigil clasaigeach"
Na dì-chuimhnich an òrdugh seòrsachaidh
Le bhith a’ dìochuimhneachadh òrdugh seòrsachaidh faodaidh barrachd sàrachadh adhbhrachadh agus barrachd ùine a chaitheamh na rèiteachadh ceàrr sam bith eile. Gu gnàthach bidh MongoBD a’ cleachdadh
Cruthaich cruinneachaidhean le sgrìobhainnean mòra
Tha MongoDB toilichte aoigheachd a thoirt do sgrìobhainnean mòra suas gu 16MB ann an cruinneachaidhean, agus
Cruthachadh sgrìobhainnean le arrays mòra
Faodaidh arrays a bhith ann an sgrìobhainnean. Tha e nas fheàrr ma tha an àireamh de eileamaidean san raon fada bho àireamh ceithir-fhigearach. Ma thèid eileamaidean a chur ri sreath gu tric, fàsaidh e nas àirde na an sgrìobhainn anns a bheil e agus feumaidh e a bhith
Tha rudeigin ris an canar MongoDB
Is dòcha gu bheil thu a’ smaoineachadh gun urrainn dhut a dhèanamh às aonais clàr-amais array. Gu mì-fhortanach, faodaidh dìth clàran-amais duilgheadasan eile a bhith agad. Leis gu bheil sgrìobhainnean air an sganadh bho thoiseach gu deireadh, bheir e nas fhaide lorg eileamaidean aig deireadh an t-sreath, agus bidh a’ mhòr-chuid de ghnìomhachdan co-cheangailte ri leithid de sgrìobhainn
Na dì-chuimhnich gu bheil òrdugh nan ìrean ann an cruinneachadh cudromach
Ann an siostam stòr-dàta le optimizer ceiste, tha na ceistean a sgrìobhas tu nam mìneachadh air na tha thu airson faighinn, chan ann mar a gheibh thu e. Bidh an uidheamachd seo ag obair mar an ceudna ri òrdachadh ann an taigh-bìdh: mar as trice bidh thu dìreach ag òrdachadh biadh, agus na toir stiùireadh mionaideach don chòcaire.
Ann am MongoDB, bheir thu stiùireadh don chòcaire. Mar eisimpleir, feumaidh tu dèanamh cinnteach gu bheil an dàta a 'dol troimhe reduce
cho tràth 'sa ghabhas anns an loidhne-phìoban a' cleachdadh $match
и $project
, agus bidh an seòrsachadh a’ tachairt dìreach às deidh sin reduce
, agus gun tachair an rannsachadh san òrdugh cheart a tha thu ag iarraidh. Le bhith a’ faighinn optimizer ceiste a chuireas às do dh’ obair neo-riatanach, a chuireas ceumannan ann an òrdugh nas fheàrr, agus a thaghas seòrsaichean ceangail faodaidh sin do mhilleadh. Le MongoDB, tha barrachd smachd agad air cosgais goireasachd.
Innealan mar
A’ cleachdadh Clàradh Luath
Na suidhich roghainnean sgrìobhaidh MongoDB a-riamh gus am bi astar àrd ach earbsachd ìosal. Am modh seo "faidhle-is-dìochuimhnich" tha e coltach gu luath oir thèid an àithne a thilleadh mus tachair an sgrìobhadh. Ma thuiteas an siostam mus tèid an dàta a sgrìobhadh gu diosc, thèid a chall agus bidh e ann an staid neo-chunbhalach. Gu fortanach, tha MongoDB 64-bit air logadh a dhèanamh comasach.
Bidh na h-einnseanan stòraidh MMAPv1 agus WiredTiger a’ cleachdadh logadh gus casg a chuir air seo, ged as urrainn dha WiredTiger faighinn air ais chun cho-chòrdail mu dheireadh.
Bidh Journaling a’ dèanamh cinnteach gu bheil an stòr-dàta ann an staid chunbhalach às deidh faighinn air ais agus a’ cumail a h-uile dàta gus an tèid a sgrìobhadh chun log. Tha tricead chlàran air a rèiteachadh a’ cleachdadh am paramadair
.
Gus a bhith cinnteach mu na h-inntrigidhean, dèan cinnteach gu bheil logadh air a chomasachadh san fhaidhle rèiteachaidh
, agus tha tricead chlàran a 'freagairt ris an uiread fiosrachaidh as urrainn dhut a chall.
Ag òrdachadh gun index
Nuair a thathar a’ lorg agus a’ cruinneachadh, gu tric feumar dàta a sheòrsachadh. Tha sinn an dòchas gun tèid seo a dhèanamh aig aon de na h-ìrean deireannach, às deidh an toradh a shìoladh gus an àireamh de dhàta a thèid a sheòrsachadh a lughdachadh. Agus eadhon anns a 'chùis seo, airson a rèiteachadh bidh feum agad air
Mura h-eil clàr-amais iomchaidh ann, nì MongoDB às aonais. Tha crìoch cuimhne de 32 MB air meud iomlan gach sgrìobhainn a-steach
Rannsaich às aonais taic clàr-amais
Bidh ceistean rannsachaidh a’ coileanadh gnìomh coltach ris an obair JOIN ann an SQL. Gus obrachadh nas fheàrr, feumaidh iad clàr-amais luach na h-iuchrach a thathar a’ cleachdadh mar an iuchair chèin. Chan eil seo follaiseach leis nach eil an cleachdadh air a nochdadh ann explain()
. Tha clàran-amais mar seo a bharrachd air a’ chlàr-amais a tha sgrìobhte ann explain()
, a tha e fhèin air a chleachdadh le luchd-obrachaidh loidhne-phìoban $match
и $sort
, nuair a choinnicheas iad aig toiseach na loidhne-phìoban. Faodaidh clàran-amais a-nis còmhdach a dhèanamh air ìre sam bith
A 'diùltadh a bhith a' cleachdadh ioma-ùrachaidhean
Modh
air a chleachdadh gus pàirt de sgrìobhainn a th’ ann mar-thà no an sgrìobhainn gu lèir atharrachadh, suas gu fear eile na àite, a rèir a’ pharamadair a shònraicheas tu
. Is e an rud nach eil cho follaiseach nach giullachd e a h-uile sgrìobhainn sa chruinneachadh mura shuidhich thu an roghainn
ùrachadh a h-uile sgrìobhainn a choinnicheas ri slatan-tomhais an iarrtais.
Na dì-chuimhnich cho cudromach sa tha òrdugh nan iuchraichean ann an clàr hash
Ann an JSON, tha nì a’ gabhail a-steach cruinneachadh neo-òrdaichte de mheud neoni no barrachd paidhrichean ainm/luach, far a bheil ainm mar shreang agus luach mar shreang, àireamh, boolean, null, nì, no sreath.
Gu mì-fhortanach, tha BSON a’ cur tòrr cuideam air òrdugh nuair a thathar a’ rannsachadh. Ann am MongoDB, òrdugh iuchraichean taobh a-staigh nithean togte { firstname: "Phil", surname: "factor" }
- chan eil seo mar an ceudna { { surname: "factor", firstname: "Phil" }
. Is e sin, feumaidh tu òrdugh paidhrichean ainm / luach a stòradh anns na sgrìobhainnean agad ma tha thu airson a bhith cinnteach gun lorg thu iad.
Na bi troimh-chèile "Null" и "neo-mhìnichte"
luach "neo-mhìnichte" cha robh e a-riamh dligheach ann an JSON, a rèir $null
, nach eil an-còmhnaidh na fhuasgladh math.
Cleachd $limit()
gun $sort()
Gu math tric nuair a bhios tu a’ leasachadh ann am MongoDB, tha e feumail dìreach sampall den toradh fhaicinn a thèid a thilleadh bho cheist no cruinneachadh. Airson an obair seo bidh feum agad air $limit()
, ach cha bu chòir dha a bhith sa chòd mu dheireadh mura cleachd thu e roimhe $sort
. Tha an meacanaig seo riatanach oir air dhòigh eile chan urrainn dhut gealltainn òrdugh an toraidh, agus cha bhith e comasach dhut an dàta fhaicinn gu earbsach. Aig mullach an toraidh gheibh thu inntrigidhean eadar-dhealaichte a rèir an t-seòrsachaidh. Gus obrachadh gu earbsach, feumaidh ceistean agus co-chruinneachaidhean a bhith cinntiche, is e sin, na h-aon toraidhean a thoirt gu buil a h-uile uair a thèid an cur gu bàs. Còd anns a bheil $limit()
, ach chan eil $sort
, cha bhith e cinntiche agus dh’ fhaodadh e às deidh sin mearachdan adhbhrachadh a bhios duilich an lorg.
co-dhùnadh
Is e an aon dòigh air a bhith tàmailteach le MongoDB a choimeas gu dìreach ri seòrsa eile de stòr-dàta, leithid DBMS, no tighinn ga chleachdadh stèidhichte air dùilean sònraichte. Tha e coltach ri coimeas a dhèanamh eadar orains agus forc. Bidh siostaman stòr-dàta a’ frithealadh adhbharan sònraichte. Tha e nas fheàrr dìreach na h-eadar-dhealachaidhean sin a thuigsinn agus a mheas dhut fhèin. Bhiodh e tàmailteach cuideam a chuir air luchd-leasachaidh MongoDB thairis air slighe a thug orra sìos slighe DBMS. Tha mi airson dòighean ùra is inntinneach fhaicinn airson fuasgladh fhaighinn air seann dhuilgheadasan, leithid dèanamh cinnteach à ionracas dàta agus cruthachadh siostaman dàta a tha seasmhach an aghaidh fàilligeadh agus ionnsaighean droch-rùnach.
Tha toirt a-steach MongoDB de ghnìomhachd ACID ann an dreach 4.0 na dheagh eisimpleir de bhith a’ toirt a-steach leasachaidhean cudromach ann an dòigh ùr-ghnàthach. Tha gnothaichean ioma-sgrìobhainn agus ioma-aithris a-nis atamach. Tha e comasach cuideachd an ùine a dh’ fheumar gus glasan fhaighinn agus crìoch a chuir air gnothaichean glaiste, a bharrachd air an ìre aonaranachd atharrachadh.
Leugh tuilleadh:
Source: www.habr.com