An shirya fassarar labarin a jajibirin fara karatun
Karin bayanai:
- Yana da matukar mahimmanci don haɓaka tsari ko da yake na zaɓi ne a cikin MongoDB.
- Hakazalika, fihirisa dole ne su dace da tsarin ku da tsarin samun dama.
- Ka guji amfani da manyan abubuwa da manyan jeri.
- Yi hankali da saitunan MongoDB, musamman idan ya zo ga tsaro da aminci.
- MongoDB ba shi da mai inganta tambaya, don haka dole ne ku yi hankali yayin gudanar da ayyukan tambaya.
Na daɗe ina aiki tare da bayanan bayanai, amma kwanan nan aka gano MongoDB. Akwai 'yan abubuwan da nake fata na sani kafin in fara aiki da su. Lokacin da mutum ya riga ya sami gogewa a wani fanni, sun riga sun riga sun san menene ma'ajin bayanai da abin da suke yi. Da fatan samun sauƙin fahimta ga wasu, na gabatar da jerin kurakuran gama gari.
Ƙirƙirar uwar garken MongoDB ba tare da tantancewa ba
Abin takaici, an shigar da MongoDB ba tare da tantancewa ta tsohuwa ba. Don wurin aiki da aka isa gida, wannan al'ada ce ta al'ada. Amma tun da MongoDB tsarin mai amfani ne da yawa wanda ke son amfani da adadin ƙwaƙwalwar ajiya, zai fi kyau idan kun sanya shi a kan uwar garken mai yawan RAM mai yiwuwa, koda kuwa za ku yi amfani da shi ne kawai don haɓakawa. Shigar da uwar garken ta hanyar tashar tsoho na iya zama matsala, musamman idan kowane lambar javascript za a iya aiwatar da ita a cikin buƙatar (misali, $where
a matsayin ra'ayi don
Akwai hanyoyin tantancewa da yawa, amma mafi sauƙi shine saita ID/kalmar sirri mai amfani. Yi amfani da wannan ra'ayin yayin da kuke tunani game da ingantaccen tabbaci dangane da
Kar a manta daure saman harin zuwa MongoDB
,
ko
. Tun da ba a ɓoye fayilolin bayanai a cikin daidaitaccen MongoDB, yana da ma'ana don gudanar da MongoDB tare da
Kuskure yayin haɓaka kewaye
MongoDB baya amfani da tsari. Amma wannan ba yana nufin ba a buƙatar tsarin ba. Idan kawai kuna son adana takardu ba tare da kowane tsari mai daidaituwa ba, adana su na iya zama da sauri da sauƙi, amma dawo da su daga baya na iya zama da wahala.
Labarin gargajiya"
Kar a manta da tsari iri-iri
Manta tsari na iya haifar da ƙarin takaici da ɓata lokaci fiye da kowane saitin da ba daidai ba. Ta hanyar tsoho MongoBD yana amfani
Ƙirƙiri tarin tarin tare da manyan takardu
MongoDB yana farin cikin karɓar manyan takardu har zuwa 16MB a cikin tarin, kuma
Ƙirƙirar takardu tare da manyan jeri
Takardu na iya ƙunsar tsararru. Zai fi kyau idan adadin abubuwan da ke cikin jeri ya yi nisa da lamba huɗu. Idan an ƙara abubuwa zuwa tsararru akai-akai, zai fi girma daftarin aiki da ke ɗauke da shi kuma zai buƙaci zama
MongoDB yana da wani abu da ake kira
Kuna iya tunanin cewa za ku iya yi ba tare da lissafin tsararru ba. Abin takaici, rashin fihirisa na iya haifar da wasu matsaloli. Tun da ana bincika takardu daga farko zuwa ƙarshe, neman abubuwa a ƙarshen tsararrun zai ɗauki lokaci mai tsawo, kuma yawancin ayyukan da ke da alaƙa da irin wannan takaddar za su kasance.
Kar a manta cewa tsari na matakai a cikin taro yana da mahimmanci
A cikin tsarin bayanai tare da mai inganta tambaya, tambayoyin da kuke rubuta bayanan abubuwan da kuke son samu ne, ba yadda ake samun su ba. Wannan tsarin yana aiki ta hanyar kwatanci tare da yin oda a cikin gidan abinci: yawanci kuna yin odar tasa ne kawai, kuma kada ku ba da cikakken bayani ga mai dafa abinci.
A cikin MongoDB, kuna koya wa mai dafa abinci. Misali, kuna buƙatar tabbatar da cewa bayanan sun wuce reduce
da wuri-wuri a cikin bututun amfani da $match
и $project
, kuma ana rarrabawa ne kawai bayan reduce
, da kuma cewa binciken yana faruwa a daidai tsarin da kuke so. Samun mai inganta tambaya wanda ke kawar da aikin da ba dole ba, mafi kyawun tsara matakai, da zaɓi nau'ikan haɗin gwiwa na iya lalata ku. Tare da MongoDB, kuna da ƙarin iko akan farashin dacewa.
Kayan aiki kamar
Amfani da Quick Recording
Kada a taɓa saita zaɓuɓɓukan rubuta MongoDB don samun babban gudu amma ƙarancin aminci. Wannan yanayin "fayil-da-manta" yana da sauri saboda ana dawo da umarnin kafin rubutawa ya faru. Idan tsarin ya rushe kafin a rubuta bayanan zuwa faifai, zai ɓace kuma ya ƙare cikin yanayin da bai dace ba. An yi sa'a, 64-bit MongoDB ya kunna shiga.
Injunan ajiya na MMAPv1 da WiredTiger suna amfani da shiga don hana hakan, kodayake WiredTiger na iya murmurewa zuwa daidaiton ƙarshe.
Yin aikin jarida yana tabbatar da cewa bayanan yana cikin daidaitaccen yanayi bayan an dawo da shi kuma yana riƙe duk bayanan har sai an rubuta shi zuwa jarida. Ana saita yawan rikodi ta amfani da siga
.
Don tabbatar da shigarwar, tabbatar an kunna shiga cikin fayil ɗin daidaitawa
, kuma yawan rikodin ya yi daidai da adadin bayanan da za ku iya rasa.
Rarraba ba tare da fihirisa ba
Lokacin bincike da tarawa, sau da yawa ana buƙatar warware bayanai. Mu yi fatan za a yi hakan a mataki na karshe, bayan tace sakamakon domin a rage yawan bayanan da ake tantancewa. Kuma ko da a wannan yanayin, don rarrabawa za ku buƙaci
Idan babu fihirisar da ta dace, MongoDB zai yi ba tare da shi ba. Akwai iyakar žwažwalwar ajiya na 32 MB akan jimillar girman duk takardun da ke ciki
Bincika ba tare da goyan bayan fihirisa ba
Tambayoyin nema suna yin aiki mai kama da aikin JOIN a cikin SQL. Don aiki mafi kyau, suna buƙatar fihirisar ƙimar maɓalli da aka yi amfani da su azaman maɓalli na waje. Wannan ba a bayyane yake ba saboda ba a nuna amfani a ciki ba explain()
. Irin waɗannan fihirisa suna ƙari ga fihirisar da aka rubuta a ciki explain()
, wanda kuma masu aikin bututun mai ke amfani da su $match
и $sort
, lokacin da suka hadu a farkon bututun. Lissafi na iya rufe kowane mataki yanzu
Fita daga amfani da sabuntawa da yawa
Hanyar
ana amfani da shi don canza wani ɓangare na takaddun da ke akwai ko gabaɗayan takaddar, har zuwa cikakken maye gurbin, ya danganta da ma'aunin da kuka ƙayyade.
. Abin da ba a bayyane yake ba shine cewa ba zai aiwatar da duk takaddun da ke cikin tarin ba sai dai idan kun saita zaɓi
don sabunta duk takaddun da suka cika ka'idodin buƙatun.
Kar a manta da mahimmancin tsari na maɓallan a cikin tebur na hash
A JSON, abu ya ƙunshi tarin girman sifili mara tsari ko fiye da nau'i-nau'i/daraja, inda suna shine kirtani kuma ƙima shine kirtani, lamba, boolean, null, abu, ko tsararru.
Abin takaici, BSON yana ba da fifiko sosai kan tsari yayin bincike. A cikin MongoDB, tsarin maɓalli a cikin abubuwan da aka gina { firstname: "Phil", surname: "factor" }
- wannan ba daya bane { { surname: "factor", firstname: "Phil" }
. Wato, dole ne ku adana tsarin nau'i-nau'i na suna / ƙimar a cikin takaddun ku idan kuna son tabbatar da gano su.
Kar ku rude "Null" и "wanda ba a bayyana ba"
Ma'ana "wanda ba a bayyana ba" bai taba aiki a JSON ba, a cewar $null
, wanda ba koyaushe ba ne mafita mai kyau.
Amfani $limit()
ba tare da $sort()
Sau da yawa lokacin da kuke haɓakawa a MongoDB, yana da amfani don ganin samfurin sakamakon da za a dawo daga tambaya ko tarawa. Don wannan aikin za ku buƙaci $limit()
, amma bai kamata ya kasance a cikin lambar ƙarshe ba sai dai idan kun yi amfani da shi a baya $sort
. Wannan makanikin ya zama dole saboda in ba haka ba ba za ku iya ba da garantin odar sakamakon ba, kuma ba za ku iya dogara ga bayanan ba. A saman sakamakon za ku sami shigarwa daban-daban dangane da rarrabuwa. Don yin aiki da dogaro, tambayoyi da tarawa dole ne su kasance masu ƙididdigewa, wato, samar da sakamako iri ɗaya duk lokacin da aka aiwatar da su. Lambar da ta ƙunshi $limit()
, amma a'a $sort
, ba zai zama ƙaddara ba kuma yana iya haifar da kurakurai waɗanda zasu yi wahala a gano su.
ƙarshe
Hanya daya tilo da za a yi takaici tare da MongoDB ita ce kwatanta shi kai tsaye zuwa wani nau'in bayanai, kamar DBMS, ko kuma zuwa don amfani da shi bisa wasu tsammanin. Yana kama da kwatanta orange da cokali mai yatsa. Tsarukan bayanai suna yin amfani da takamaiman dalilai. Zai fi kyau kawai ku fahimta kuma ku yaba wa kanku waɗannan bambance-bambance. Zai zama abin kunya a matsa wa masu haɓaka MongoDB akan hanyar da ta tilasta musu sauka hanyar DBMS. Ina so in ga sababbin hanyoyi masu ban sha'awa don magance matsalolin tsofaffi, irin su tabbatar da amincin bayanai da ƙirƙirar tsarin bayanan da ke da tsayayya ga gazawa da hare-haren ƙeta.
Gabatarwar MongoDB na ma'amalar ACID a cikin sigar 4.0 misali ne mai kyau na gabatar da muhimman ci gaba ta wata sabuwar hanya. Ma'amaloli da yawa da takaddun bayanai da ma'amaloli da yawa yanzu sun zama atomic. Hakanan yana yiwuwa a daidaita lokacin da ake buƙata don samun makullai da ƙare ma'amaloli masu makale, da kuma canza matakin keɓewa.
Kara karantawa:
source: www.habr.com