O le faaliliuga o le tusiga na saunia i le afiafi o le amataga o le vasega
Manatu taua:
- E matua taua tele le atiaʻe o se faʻataʻitaʻiga e ui lava e filifili ile MongoDB.
- E fa'apea fo'i, e tatau ona fetaui fa'asino i lau fa'asologa ma fa'asologa avanoa.
- Aloese mai le faʻaaogaina o mea tetele ma faʻasologa tetele.
- Faʻaeteete i faʻatulagaga MongoDB, aemaise lava pe a oʻo mai i le saogalemu ma le faʻamaoni.
- MongoDB e leai se su'esu'ega optimizer, o lea e tatau ai ona e fa'aeteete pe a fa'atino galuega fa'atatau.
Ua leva ona ou galue ma faʻamaumauga, ae naʻo le taimi nei na maua ai MongoDB. E i ai nai mea ou te moomoo maimau pe ana ou iloa ae ou te lei amata galue i ai. Afai ua iai le poto masani o se tagata i se matata faapitoa, e iai a latou manatu muamua e uiga i database ma mea latou te faia. I le faʻamoemoe o le faʻafaigofieina o isi ona malamalama, ou te tuʻuina atu se lisi o mea sese masani.
Fausia se server MongoDB e aunoa ma se faʻamaoniga
Ae paga lea, ua faʻapipiʻi MongoDB e aunoa ma se faʻamaoniga e ala i le faaletonu. Mo se fale faigaluega e maua i le lotoifale, o lenei faiga masani. Ae talu ai o le MongoDB o se faiga faʻaoga tele e fiafia e faʻaaoga le tele o manatuaga, o le a sili atu pe afai e te tuʻuina i luga o se server ma le tele o le RAM e mafai ai, e tusa lava pe naʻo le faʻaaogaina mo le atinaʻe. O le faʻapipiʻiina i luga o le 'auʻaunaga e ala i le faʻaogaina o le taulaga e mafai ona faʻafitauli, aemaise lava pe a mafai ona faʻatinoina se code javascript i le talosaga (mo se faʻataʻitaʻiga, $where
e fai ma manatu mo
E tele auala fa'amaonia, ae sili ona faigofie o le setiina o se ID fa'aoga / upu fa'aoga. Fa'aaoga lenei manatu a'o e mafaufau e uiga i fa'amaoniga fa'apitoa e fa'avae i luga
Aua nei galo e fusifusia le osofaʻiga i MongoDB
,
poʻo
. Talu ai o faila faʻamaumauga e le o faʻailogaina i MongoDB masani, e talafeagai le taʻavale MongoDB ma
Sese a'o atia'e le matagaluega
MongoDB e le fa'aogaina se fuafuaga. Ae e le faapea e le manaomia le polokalame. Afai e na'o lou mana'o e teu pepa e aunoa ma se mamanu faifaipea, e mafai ona vave ma faigofie le teuina, ae e mafai ona faigata le toe aumai mulimuli ane.
Tala masani "
Aua ne'i galo le fa'avasegaga
O le fa'agalo o le fa'asologa o fa'asologa e mafai ona fa'atupu ai le le fiafia ma fa'ama'imau le taimi nai lo so'o se isi fa'atonuga sese. Ole fa'aoga ole MongoBD
Fausia ni aoina ma ni pepa tetele
MongoDB e fiafia e faʻafeiloaʻi pepa tetele e oʻo atu i le 16MB i le aoina, ma
Fausiaina o pepa ma fa'asologa tetele
O pepa e mafai ona iai fa'asologa. E sili pe afai o le numera o elemene i le fa'asologa e mamao mai se numera fa-numera. Afai e fa'aopoopo fa'atasi elemene i se fa'asologa, o le a sili atu i le pepa o lo'o i ai ma e mana'omia
MongoDB ei ai se mea e taʻua
Atonu e te manatu e mafai ona e faia e aunoa ma le fa'avasegaina o fa'asologa. Ae paga lea, o le le lava o fa'asino igoa e ono mafua ai ona e iai isi fa'afitauli. Talu ai o pepa e su'esu'e mai le amataga e o'o i le fa'ai'uga, o le su'eina o elemene i le pito o le fa'asologa o le a umi se taimi, ma o le tele o gaioiga e feso'ota'i ma sea pepa o le a
Aua nei galo e taua le faasologa o laasaga i se tuufaatasiga
I totonu o se faʻamaumauga faʻamaumauga faʻatasi ai ma se fesili optimizer, o fesili e te tusia o faʻamatalaga o mea e te manaʻo e maua, ae le o le auala e maua ai. O lenei masini e galue e ala i le faʻataʻitaʻiga ma le okaina i totonu o se faleaiga: e masani lava e te faʻatonuina se ipu, ae le tuʻuina atu faʻamatalaga auiliili i le kuka.
I MongoDB, e te faʻatonuina le kuka. Mo se faʻataʻitaʻiga, e tatau ona e faʻamautinoa e pasi atu faʻamatalaga reduce
i le vave e mafai ai i le faʻaogaina o paipa $match
и $project
, ma fa'avasega e na'o le mae'a reduce
, ma o le sailiga e tupu tonu lava i le faasologa e te manaʻo ai. O le iai o se su'esu'ega fa'asili e fa'ate'aina ai galuega e le mana'omia, fa'asolo lelei laasaga, ma filifili ituaiga fa'atasi e mafai ona fa'aleagaina oe. Faatasi ai ma MongoDB, e sili atu lau pule ile tau ole faigofie.
Meafaigaluega pei
Fa'aaogāina Fa'amaumauga vave
Aua ne'i setiina filifiliga tusitusi a MongoDB ina ia maualuga le saoasaoa ae maualalo le fa'atuatuaina. O lenei faiga "faila-ma-galo" e foliga vave ona e toe faafoi mai le poloaiga aʻo leʻi faia le tusitusi. Afai e paʻu le faiga aʻo leʻi tusia faʻamaumauga i le tisiki, o le a leiloa ma faʻamutaina i se tulaga le fetaui. O le mea e laki ai, 64-bit MongoDB ua mafai ona faʻaogaina.
O le MMAPv1 ma le WiredTiger e teu ai masini e faʻaogaina le taʻavale e puipuia ai lenei mea, e ui lava e mafai e le WiredTiger ona toe faʻaleleia i le taimi mulimuli.
Tusitala fa'amaumauga e fa'amautinoaina o lo'o i ai le fa'amaumauga i se tulaga faifaipea pe a uma ona toe fa'aleleia ma taofia uma fa'amaumauga se'ia o'o ina tusia i le api talaaga. Ole taimi ole pu'ega e fa'apipi'iina ile fa'aogaina ole fa'amaufa'ailoga
.
Ina ia mautinoa o faʻamaumauga, ia mautinoa o loʻo mafai ona faʻaogaina i le faila faila
, ma le tele o fa'amaumauga e fetaui ma le aofa'i o fa'amatalaga e te gafatia e leiloa.
Fa'avasega e aunoa ma se faasino igoa
A'o su'esu'e ma fa'apotopoto, e tele lava ina mana'omia le fa'avasegaina o fa'amaumauga. Sei o tatou faʻamoemoe e faia lenei mea i se tasi o vaega mulimuli, pe a uma ona faʻamamaina le taunuʻuga ina ia faʻaitiitia le aofaʻi o faʻamaumauga o loʻo faʻavasega. Ma e oʻo lava i lenei tulaga, mo le faʻavasegaina e te manaʻomia
Afai e leai se faasino igoa talafeagai, o le a faia e MongoDB e aunoa ma lea. O lo'o i ai se fa'atapula'a manatua o le 32 MB i le aofa'i atoa o pepa uma i totonu
Su'e e aunoa ma le lagolago fa'asino
O su'esu'ega su'esu'e e fa'atino ai se galuega e pei o le JOIN operation i SQL. Ina ia sili ona lelei, latou te manaʻomia le faʻailoga o le tau o le ki faʻaaogaina e avea ma ki mai fafo. E le o manino lenei mea ona o le faʻaaogaina e le o atagia i totonu explain()
. O ia fa'ailoga o lo'o fa'aopoopo i le fa'ailoga o lo'o tusia i totonu explain()
, lea e fa'aaogaina e le au fai paipa $match
и $sort
, pe a latou feiloai i le amataga o le paipa. O fa'asinomaga e mafai nei ona aofia ai so'o se la'asaga
Filifili ese mai le faʻaaogaina o faʻafouga tele
Metotia
fa'aaoga e sui ai se vaega o se pepa o lo'o i ai po'o le pepa atoa, e o'o atu i se sui atoatoa, e fa'atatau i le parakalafa e te fa'ailoaina
. O le mea e le o manino lava o le a le fa'agaoioia pepa uma i le aoina se'i vagana ua e setiina le filifiliga
e fa'afou pepa uma e fetaui ma ta'iala o talosaga.
Aua nei galo le taua o le faasologa o ki i se laulau hash
I totonu o le JSON, o se mea e aofia ai se aofaʻi e le faʻatonuina o le lapoʻa zero poʻo le sili atu o igoa / tau taua, lea o le igoa o se manoa ma le tau o se manoa, numera, boolean, null, mea, poʻo se laina.
Ae paga lea, o le BSON e tuʻuina atu le tele o faʻamamafa i le faʻatonuga pe a suʻe. I MongoDB, o le faasologa o ki i totonu o mea faʻapipiʻi { firstname: "Phil", surname: "factor" }
- e le tutusa lea ma { { surname: "factor", firstname: "Phil" }
. O lona uiga, e tatau ona e teuina le faasologa o igoa/taua paiga i au pepa pe afai e te manaʻo e mautinoa e maua.
Aua le fenumiai "Leai" и "le fa'amalamalamaina"
tāua "le fa'amalamalamaina" e leʻi aoga i JSON, e tusa ai ma $null
, e le o taimi uma o se fofo lelei.
Faaaoga $limit()
e aunoa ma $sort()
O le tele o taimi pe a e atiaʻe i MongoDB, e aoga le naʻo le vaʻai i se faʻataʻitaʻiga o le iʻuga o le a toe faʻafoʻi mai i se fesili poʻo se faʻapotopotoga. Mo lenei galuega e te manaʻomia $limit()
, ae e le tatau lava ona i ai i le code mulimuli se'i vagana ua e fa'aaogaina muamua $sort
. O lenei masini e manaʻomia aua a leai e le mafai ona e faʻamaonia le faʻatonuga o le iʻuga, ma o le a le mafai ona e vaʻavaʻai ma le mautinoa i faʻamatalaga. I le pito i luga o le taunuuga o le ae maua ai faʻamatalaga eseese e faʻatatau i le faʻavasegaina. Ina ia galue ma le fa'atuatuaina, e tatau ona fa'amautu fesili ma fa'aputuga, o lona uiga, e maua mai i'uga tutusa i taimi uma e fa'atino ai. Code e iai $limit()
, ae leai $sort
, o le a le fa'amautu ma e ono mafua ai ni mea sese e faigata ona sailia.
iʻuga
Pau lava le auala e le fiafia ai i MongoDB o le faʻatusatusa saʻo i se isi ituaiga o faʻamaumauga, e pei o le DBMS, poʻo le sau e faʻaaogaina e faʻatatau i faʻamoemoega. E pei o le faatusaina o se moli i se tui. O faiga fa'amaumauga e fa'atino ai fa'amoemoega fa'apitoa. E sili le na'o lou malamalama ma talisapaia nei eseesega mo oe lava. O se mea e maasiasi ai le faʻamalosia o le au atinaʻe MongoDB i luga o se auala na faʻamalosia ai i latou i lalo o le ala DBMS. Ou te manaʻo e vaʻai i ni auala fou ma manaia e foia ai faʻafitauli tuai, e pei o le faʻamautinoaina o le faʻamaoni o faʻamaumauga ma le fatuina o faʻamaumauga faʻamaumauga e faʻamalosia i le toilalo ma osofaʻiga leaga.
MongoDB's ntroduction of ACID transactionality in version 4.0 o se faʻataʻitaʻiga lelei o le faʻalauiloaina o faʻaleleia atili i se auala fou. Ole tele o pepa ma fa'amatalaga fa'amatalaga ua avea nei ma atomic. E mafai foi ona fetuutuunai le taimi e manaʻomia e maua ai loka ma faʻamutaina fefaʻatauaiga pipii, faʻapea foʻi ma le suia o le tulaga tuʻufua.
Faitau atili:
puna: www.habr.com