Phetolelo ea sengoloa e lokisitsoe bosiung ba pele thupelo e qala
Lintlha-kholo:
- Ho bohlokoa haholo ho theha schema leha e le khetho ho MongoDB.
- Ka mokhoa o ts'oanang, li-index li tlameha ho tsamaisana le schema ea hau le mekhoa ea phihlello.
- Qoba ho sebelisa lintho tse kholo le lihlopha tse kholo.
- E-ba hlokolosi ka litlhophiso tsa MongoDB, haholo-holo ha ho tluoa tabeng ea ts'ireletso le botšepehi.
- MongoDB ha e na optimizer ea lipotso, kahoo o tlameha ho ba hlokolosi ha o etsa ts'ebetso ea lipotso.
Ke qetile nako e telele ke sebetsa le li-database, empa ke sa tsoa sibolla MongoDB. Ho na le lintho tse 'maloa tseo ke lakatsang eka nka li tseba pele ke qala ho sebetsa le eona. Ha motho a se a ntse a e-na le boiphihlelo lefapheng le itseng, ba na le maikutlo a pele mabapi le hore na li-database ke eng le hore na ba etsa eng. Ka tšepo ea ho nolofalletsa ba bang ho utloisisa, ke fana ka lethathamo la liphoso tse tloaelehileng.
Ho theha seva sa MongoDB ntle le netefatso
Ka bomalimabe, MongoDB e kentsoe ntle le netefatso ka boiketsetso. Bakeng sa sebaka sa mosebetsi se fumanehang sebakeng sa heno, mokhoa ona o tloaelehile. Empa kaha MongoDB ke sistimi e sebelisang basebelisi ba bangata e ratang ho sebelisa mohopolo o mongata, ho tla ba molemo ha o ka e beha ho seva e nang le RAM e ngata kamoo ho ka khonehang, leha o tla e sebelisa molemong oa nts'etsopele. Ho kenya ho seva ka boema-kepe ba kamehla ho ka ba bothata, haholo haeba khoutu efe kapa efe ea javascript e ka etsoa kopo (mohlala, $where
joalo ka mohopolo oa
Ho na le mekhoa e mengata ea netefatso, empa e bonolo ka ho fetesisa ke ho seta ID/password ea mosebelisi. Sebelisa mohopolo ona ha o ntse o nahana ka netefatso e majabajaba e thehiloeng ho
Se ke oa lebala ho tlama sebaka sa tlhaselo ho MongoDB
,
kapa
. Kaha lifaele tsa data ha lia ngolisoa ho MongoDB e tloaelehileng, hoa utloahala ho tsamaisa MongoDB ka
Phoso ha ho ntse ho etsoa potoloho
MongoDB ha e sebelise schema. Empa sena ha se bolele hore morero ha o hlokehe. Haeba u batla feela ho boloka litokomane ntle le mokhoa leha e le ofe o tsitsitseng, ho li boloka ho ka ba kapele le ho bonolo, empa ho li fumana hamorao ho ka ba thata.
Sengoloa sa khale "
U se ke ua lebala ho hlophisa
Ho lebala ho hlophisa ho ka baka pherekano le ho senya nako ho feta tlhophiso efe kapa efe e fosahetseng. Ka mokhoa o ikhethileng, MongoBD e sebelisa
Etsa likoleke ka litokomane tse kholo
MongoDB e thabela ho amohela litokomane tse kholo ho fihla ho 16MB ka pokello, le
Ho theha litokomane tse nang le lihlopha tse kholo
Litokomane li ka ba le lihlopha. Ho molemo haholo haeba palo ea likarolo ka har'a sehlopha e hole le palo ea linomoro tse 'ne. Haeba likarolo li eketsoa ho sehlopha khafetsa, se tla feta tokomane e nang le eona mme e tla hloka ho ba joalo
MongoDB e na le ntho e bitsoang
U ka 'na ua nahana hore u ka etsa ntle le array indexing. Ka bomalimabe, khaello ea li-index e ka ’na ea etsa hore u be le mathata a mang. Kaha litokomane li hlahlojoa ho tloha qalong ho fihlela qetellong, ho batla likarolo qetellong ea lethathamo ho tla nka nako e teletsana, 'me boholo ba mesebetsi e amanang le tokomane e joalo e tla ba teng.
U se ke ua lebala hore tatellano ea mekhahlelo ka kakaretso e bohlokoa
Sistimi ea database e nang le optimizer ea lipotso, lipotso tseo u li ngolang ke litlhaloso tsa seo u batlang ho se fumana, eseng mokhoa oa ho se fumana. Mochine ona o sebetsa ka papiso le ho odara reschorenteng: hangata o laela sejana feela, 'me ha o fane ka litaelo tse qaqileng ho moapehi.
Ho MongoDB, u laela moapehi. Ka mohlala, u lokela ho etsa bonnete ba hore data e feta reduce
kapele kamoo ho ka khonehang ka phaepheng e sebelisang $match
и $project
, 'me ho hlopha ho etsahala feela ka mor'a reduce
, le hore patlisiso e etsahala ka tatellano eo u e batlang. Ho ba le optimizer ea lipotso e felisang mosebetsi o sa hlokahaleng, ho hlophisa mehato hantle, le ho khetha mefuta ea ho kopanya ho ka u senya. Ka MongoDB, o na le taolo e eketsehileng ka litšenyehelo tsa boiketlo.
Lisebelisoa tse kang
Ho Sebelisa Ho Rekota ka Potlako
Le ka mohla u se ke ua beha likhetho tsa ho ngola tsa MongoDB ho ba le lebelo le phahameng empa ho ts'epahala ho tlase. Mokhoa ona "faele-le-lebala" e shebahala e potlakile hobane taelo e khutlisoa pele ho ngola ho etsahala. Haeba tsamaiso e senyeha pele data e ngolloa disk, e tla lahleha 'me e qetelle e le boemong bo sa tsitsang. Ka lehlohonolo, 64-bit MongoDB e nolofalitsoe ho rengoa ha lifate.
Lienjineri tsa polokelo tsa MMAPv1 le WiredTiger li sebelisa ho rema lifate ho thibela sena, leha WiredTiger e ka hlaphoheloa ho fihlela e sa fetohe.
Ho ngola litaba ho netefatsa hore database e maemong a ts'oanang ka mor'a hore e hlaphoheloe 'me e boloka data eohle ho fihlela e ngoloa ho log. Khafetsa ea lirekoto e lokisoa ho sebelisoa parameter
.
E le ho netefatsa likenyo, etsa bonnete ba hore ho rema lifate ho nolofalitsoe faeleng ea tlhophiso
, 'me makhetlo a mangata a rekotiloeng a lumellana le bongata ba boitsebiso boo u ka khonang ho bo lahleheloa ke bona.
Ho hlopha ntle le index
Ha ho batloa le ho kopanya, hangata ho na le tlhoko ea ho hlophisa data. Ha re tšepe hore sena se etsoa ho e 'ngoe ea mekhahlelo ea ho qetela, ka mor'a ho sefa sephetho e le ho fokotsa palo ea data e hlophisoang. 'Me esita le tabeng ena, bakeng sa ho hlopha o tla hloka
Haeba ho se na index e loketseng, MongoDB e tla etsa ntle le eona. Ho na le moeli oa memori oa 32 MB ka boholo ba litokomane tsohle tse ho
Batla ntle le tšehetso ea index
Lipotso tsa ho batla li etsa mosebetsi o ts'oanang le ts'ebetso ea JOIN ho SQL. Ho sebetsa hantle, ba hloka index ea boleng ba senotlolo se sebelisoang e le senotlolo sa kantle ho naha. Sena ha se totobetse hobane tšebeliso ha e bonahale ho explain()
. Li-indices tse joalo ke tlatsetso ho index e ngotsoeng ka explain()
, eo le eona e sebelisoang ke basebetsi ba lipeipi $match
и $sort
, ha li kopana qalong ea phaephe. Hona joale li- index li ka akaretsa sethaleng leha e le sefe
Ho khetha ho tsoa ho sebelisa liapdeite tse ngata
Mokhoa
e sebelisetsoang ho fetola karolo ea tokomane e teng kapa tokomane eohle, ho fihlela phetoho e felletseng, ho latela paramethara eo u e boletseng
. Ntho e sa totobalang ke hore e ke ke ea sebetsana le litokomane tsohle tse pokellong ntle le haeba o khetha khetho
ho ntjhafatsa ditokomane tsohle tse fihlelang maemo a kopo.
U se ke ua lebala bohlokoa ba tatellano ea linotlolo tafoleng ea hash
Ho JSON, ntho e na le pokello e sa hlophisoang ea boholo ba zero kapa lipara tse ngata tsa lebitso/boleng, moo lebitso e leng thapo 'me boleng e le khoele, nomoro, boolean, null, object, kapa sehlopha.
Ka bomalimabe, BSON e hatisa haholo tatellano ha e batla. Ho MongoDB, tatellano ea linotlolo ka har'a lintho tse hahelletsoeng { firstname: "Phil", surname: "factor" }
- sena ha se tšoane le { { surname: "factor", firstname: "Phil" }
. Ke hore, o tlameha ho boloka tatellano ea lipara tsa mabitso / boleng litokomaneng tsa hau haeba u batla ho etsa bonnete ba hore u li fumane.
U se ke ua ferekana "Null" и "e sa hlalosoang"
boleng "e sa hlalosoang" ha ho mohla e kileng ea sebetsa ho JSON, ho latela $null
, eo hase kamehla e leng tharollo e molemo.
Sebelisa $limit()
ntle le $sort()
Hangata ha o ntse o tsoela pele ho MongoDB, ho molemo ho bona sampole ea sephetho se tla khutlisoa ho tsoa potsong kapa pokellong. Bakeng sa mosebetsi ona o tla o hloka $limit()
, empa ha ea lokela ho ba khoutu ea ho qetela ntle le haeba u e sebelisa pele $sort
. Mechini ena ea hlokahala hobane ho seng joalo u ke ke ua tiisa tatellano ea sephetho, 'me u ke ke ua khona ho bona data ka ts'epahalo. Ka holimo ho sephetho u tla fumana likhakanyo tse fapaneng ho latela ho hlopha. Ho sebetsa ka ts'epo, lipotso le likopano li tlameha ho ba tse ikemiselitseng, ke hore, li hlahise litholoana tse tšoanang nako le nako ha li etsoa. Khoutu e nang le $limit()
, empa che $sort
, e ke ke ea ba ea deterministic 'me ka mor'a moo e ka baka liphoso tse tla ba thata ho li fumana.
fihlela qeto e
Mokhoa o le mong feela oa ho soetseha le MongoDB ke ho e bapisa ka kotloloho le mofuta o mong oa database, joalo ka DBMS, kapa ho tla ho e sebelisa ho latela litebello tse itseng. Ho tšoana le ho bapisa lamunu le fereko. Litsamaiso tsa database li sebeletsa merero e itseng. Ho molemo ho utloisisa le ho ananela liphapang tsena ka bouena. E ka ba lihlong ho hatella baetsi ba MongoDB holim'a tsela e ba qobelletseng ho theosa tsela ea DBMS. Ke batla ho bona litsela tse ncha le tse thahasellisang tsa ho rarolla mathata a khale, a kang ho netefatsa botšepehi ba data le ho theha lisebelisoa tsa data tse khonang ho hloleha le litlhaselo tse lonya.
Kenyelletso ea MongoDB ea transactionality ea ACID ho mofuta oa 4.0 ke mohlala o motle oa ho hlahisa lintlafatso tsa bohlokoa ka tsela e ncha. Litšebelisano tsa litokomane tse ngata le litlaleho tse ngata li se li le atomic. Hape hoa khonahala ho fetola nako e hlokahalang ho fumana liloko le ho emisa litšebelisano tse khomaretsoeng, hammoho le ho fetola boemo ba ho itšehla thajana.
Bala haholoanyane:
Source: www.habr.com