HighLoad++, Mikhail Tyulenev (MongoDB): He rite tonu te take: mai i te ariā ki te mahi

Ko te huihuinga HighLoad++ e whai ake nei ka tu i te Paenga-whawha 6 me te 7, 2020 i St.
Nga korero me nga tikiti hono. HighLoad++ Siberia 2019. Hall "Krasnoyarsk". Hune 25, 12:00. Tuhinga me whakaaturanga.

HighLoad++, Mikhail Tyulenev (MongoDB): He rite tonu te take: mai i te ariā ki te mahi

Ko te tikanga ka taupatupatu nga whakaritenga mahi ki te ariā, i te mea kaore e whakaarohia nga waahanga nui mo te hua arumoni. Ko tenei korero e whakaatu ana i tetahi tikanga mo te whiriwhiri me te whakakotahi i nga huarahi rereke ki te hanga i nga waahanga riterite Causal i runga i te rangahau matauranga i runga i nga whakaritenga o te hua arumoni. Ka ako te hunga whakarongo mo nga huarahi ariā o naianei ki nga karaka arorau, te aroturuki whakawhirinaki, te haumarutanga o te punaha, te tukutahi karaka, me te aha i whakatau ai a MongoDB ki etahi otinga.

Mikhail Tyulenov (i muri nei ka kiia ko MT): – Ka korero ahau mo te riterite Causal - he waahanga tenei i mahia e matou i MongoDB. Kei te mahi ahau i roto i te roopu o nga punaha tohatoha, i mahia e matou e rua tau ki muri.

HighLoad++, Mikhail Tyulenev (MongoDB): He rite tonu te take: mai i te ariā ki te mahi

I roto i te tukanga, me waia ahau ki te maha o nga rangahau matauranga, na te mea kua tino akohia tenei waahanga. I puta mai kaore he tuhinga kotahi e uru ki nga mea e hiahiatia ana i roto i te papaanga whakaputa na runga i nga whakaritenga tino motuhake kei roto pea i tetahi tono whakaputa.

Ka korero ahau me pehea tatou, hei kaihoko mo te Rangahau matauranga, ki te whakarite i tetahi mea ka taea e tatou te whakaatu ki o tatou kaiwhakamahi hei rihi kua oti te hanga he pai, he haumaru hoki ki te whakamahi.

Te riterite take. Me tautuhi nga ariā

Hei timata, e hiahia ana ahau ki te korero whanui he aha te Causal consistency. E rua nga ahuatanga - ko Leonard me Penny (te raupapa pouaka whakaata "The Big Bang Theory"):

HighLoad++, Mikhail Tyulenev (MongoDB): He rite tonu te take: mai i te ariā ki te mahi

Me kii atu kei Uropi a Penny ka hiahia a Leonard ki te tuku hui ohorere ki a ia. A kaore e taea e ia te whakaaro ki tetahi mea pai atu i te maka atu i a ia i tana rarangi hoa, me te tuku korero ki ana hoa katoa mo te whangai: "Kia koa a Penny!" (Kei Uropi ia, i a ia e moe ana, kare ia e kite i enei mea katoa, kaore e taea te kite, no te mea kare ia i reira). I te mutunga, ka whakakorehia e ia tenei pou, ka whakakorehia mai i te Whangai me te whakahoki mai i te uru kia kore ai ia e kite i tetahi mea, kaore he kino.
He pai, he pai katoa tenei, engari me whakaaro kua tohatohahia te punaha ka he iti nga mea. Ka taea, hei tauira, ka puta te aukati uru a Penny i muri i te putanga o tenei pou, mena kaore nga kaupapa e pa ana ki te take me te paanga. Inaa, he tauira tenei mo te wa e hiahiatia ai te riterite Causal hei mahi i tetahi mahi pakihi (i tenei keehi).

Ko te tikanga, he mea iti noa enei o te paataka raraunga - he iti noa nga tangata e tautoko ana. Me neke atu ki nga tauira.

Tauira Totonu

He aha te tauira riterite i roto i nga papaa raraunga? Koinei etahi o nga taurangi ka tukuna e te punaha tohatoha mo nga raraunga ka taea e te kiritaki te whiwhi me te aha te raupapa.

Ko te tikanga, ka paheke nga tauira riterite katoa ki te rite o te punaha toha ki tetahi punaha e rere ana, hei tauira, i runga i tetahi pona i runga i te pona. Na ko te ahua o te punaha e rere ana i runga i nga mano o nga "Nodes" kua tohatohahia ki te pona, ka mahia aunoatia enei taonga katoa.

Na reira, ka whakamahia nga tauira riterite ki nga punaha tohatoha noa. Ko nga punaha katoa i noho i mua me te whakahaere i te tauine poutū kotahi kaore i pa ki enei raru. Kotahi te Keteroki Buffer, ka panuihia nga mea katoa mai i a ia.

Tauira Kaha

Inaa, ko te tauira tuatahi ko Strong (te raina kaha ara ake ranei, e kiia ana i nga wa katoa). He tauira rite tonu tenei e whakarite ana ko nga huringa katoa, ina whakapumautia kua puta, ka kitea e nga kaiwhakamahi katoa o te punaha.

Ma tenei ka hanga he raupapa o nga huihuinga katoa i roto i te papaaarangi. He taonga rite tonu tenei, a he tino utu nui. Heoi, he tino pai te tautoko. He tino utu me te puhoi - he iti noa te whakamahi. Ka kiia tenei ko te kaha piki.

Tera ano tetahi taonga kaha ake e tautokohia ana i Spanner - e kiia ana ko te Tauritenga o waho. Ka korero tatou mo tenei wa iti nei.

Te turaki

Ko te mea e whai ake nei ko Causal, koinei tonu taku korero. He maha atu ano nga taumata-iti i waenga i te Strong me te Causal kaore au e korero, engari ka huri katoa ki te Causal. He tauira nui tenei na te mea ko te kaha rawa atu o nga tauira katoa, ko te tino rite tonu i te aroaro o te kupenga, wehewehe ranei.

Ko nga take he ahuatanga e hono ana nga kaupapa e te hononga take-me-painga. I te nuinga o te wa ka kiia ratou he Panui i a koe mo nga mana mai i te tirohanga a te kaihoko. Mena kua kitea e te kiritaki etahi uara, kaore e taea e ia te kite i nga uara o mua. Kua timata ia ki te kite i nga panui prefix. Ka heke katoa ki te mea kotahi.
Ko nga take hei tauira riterite ko te raupapa wahanga o nga huihuinga i runga i te tūmau, ka kitea nga huihuinga mai i nga kiritaki katoa i te raupapa kotahi. I tenei take, ko Leonard raua ko Penny.

Taanata

Ko te tauira tuatoru ko te Whakaaetanga Whakamutunga. Koinei te mea e tautokohia ana e nga punaha tohatoha katoa, te tauira iti e tino whai kiko ana. Ko te tikanga e whai ake nei: ina he rereke nga raraunga, i etahi wa ka rite tonu.

I tenei wa kaore ia e kii i tetahi mea, mena ka huri ia ki te Whakaaetanga o waho - he korero rereke. Heoi, he tauira tino rongonui tenei, ko te mea noa. Ma te taunoa, ka whakamahia e nga kaiwhakamahi katoa o nga punaha tohatoha te Whakaaetanga Whakamutunga.

E hiahia ana ahau ki te hoatu etahi tauira whakatairite:

HighLoad++, Mikhail Tyulenev (MongoDB): He rite tonu te take: mai i te ariā ki te mahi

He aha te tikanga o enei pere?

  • Roopuu. Ka piki ake te kaha o te riterite, ka nui ake mo nga take e kitea ana: me nui ake nga rekoata, whiwhi whakau mai i nga kaihautu katoa me nga pona ka uru ki roto i te roopu kei reira nga raraunga. Na reira, ko te Whakaaetanga Whakamutunga te whakautu tere, na te mea, hei tikanga, ka taea e koe te tuku ki te mahara, a, ko te tikanga, ka nui.
  • Kei te wātea. Mena ka mohio tatou ko te kaha o te punaha ki te whakautu i te wa e pakaru ana te whatunga, nga wehenga, etahi momo ngoikore ranei, ka piki ake te pai o te he i te mea ka heke te tauira rite, na te mea ka nui ki a tatou te noho kotahi te kaihautu i te wa ano. te wa ka whakaputa etahi raraunga. Ko te Whakaaetanga Whakamutunga kaore e kii i tetahi mea mo te raraunga - he aha noa.
  • Korohiko. I te wa ano, ko te tikanga, ka piki ake te maha o nga mahi kino. I roto i te Whakaaetanga Kaha karekau rawa e noho, engari i roto i te Whakaaetanga Whakamutunga ka taea he aha. Ka puta ake te patai: he aha te tangata i whiriwhiri ai i te Whakaaetanga Whakamutunga mena kei roto he kohihiko? Ko te whakautu ko nga tauira Whakaaetanga Whakamutunga e tika ana, a, kei te noho keehe, hei tauira, i roto i te wa poto; ka taea te whakamahi i te ruānuku ki te panui me te nui ake, iti ake ranei te panui raraunga rite; He maha nga wa ka taea te whakamahi i nga tauira riterite kaha. I roto i nga mahi ka whai hua tenei, a he maha nga wa ka iti te maha o nga mahi.

CAP teorama

Ina kite koe i nga kupu riterite, te waatea - he aha te mea ka puta ki to hinengaro? Ka tika - CAP theorem! Inaianei kei te pirangi au ki te whakakore i nga korero pakiwaitara... Ehara i ahau - ko Martin Kleppmann, nana i tuhi he tuhinga whakamiharo, he pukapuka whakamiharo.

HighLoad++, Mikhail Tyulenev (MongoDB): He rite tonu te take: mai i te ariā ki te mahi

Ko te kaupapa CAP he maataapono i hangaia i nga tau 2000 ko te Tauritenga, Te waatea, nga Wehewehenga: tangohia kia rua, kaore e taea e koe te whiriwhiri kia toru. He kaupapa motuhake tera. I whakamatauria hei kaupapa i etahi tau i muri mai na Gilbert raua ko Lynch. Na ka timata tenei ki te whakamahi hei mantra - ka timata nga punaha ki te wehea ki CA, CP, AP me etahi atu.

I tino whakamatauria tenei kaupapa mo nga keehi e whai ake nei... Tuatahi, Ko te waatea i kiia ehara i te uara tonu mai i te kore ki te rau (0 - kua "mate" te punaha, 100 - he tere te whakautu; kua waia matou ki te whakaaro penei) , engari hei taonga mo te algorithm , e whakapumau ana mo ana mahi katoa ka whakahoki raraunga.

Karekau he kupu mo te wa whakautu! He algorithm e whakahoki raraunga ana i muri i te 100 tau - he algorithm tino whakamiharo e waatea ana, he waahanga o te kaupapa CAP.
Tuarua: I whakamatauhia te kaupapa mo nga huringa o nga uara o te kii kotahi, ahakoa te mea ka taea te whakarereke i enei huringa. Ko te tikanga ko te tikanga karekau e whakamahia, na te mea he rereke nga tauira Te Whakaaetanga Whakamutunga, Te Whakaaetanga Kaha (pea).

He aha enei mea katoa? I tua atu, ko te kaupapa CAP i roto i te ahua o te ahua i whakamatauhia ai, kaore e tika ana, a, he iti noa te whakamahi. I roto i te ahua ariā, ka whakawhāitihia nga mea katoa. Ka puta mai he maataapono e tino tika ana, engari ko te nuinga kaore ano kia whakamatauhia.

Ko te riterite take te tauira tino kaha

Ko nga mea e tupu ana inaianei ka taea e koe nga mea katoa e toru: Te Tonu, Te waatea ma te whakamahi Wehewehenga. Ina koa, Ko te riterite Causal te tauira tino kaha, e mahi tonu ana i te aroaro o nga Wehewehenga (ka pakaru i te whatunga). Koia te take i tino pai ai, na reira i mau ai.

HighLoad++, Mikhail Tyulenev (MongoDB): He rite tonu te take: mai i te ariā ki te mahi

Tuatahi, ka ngawari te mahi a nga kaihanga tono. Ina koa, ko te noho mai o te tautoko nui mai i te tūmau: i te wa ka tau mai nga rekoata katoa i roto i tetahi kaihoko ka tae ki te raupapa kotahi ki tetahi atu kaihoko. Tuarua, ka mau ki nga wehewehenga.

MongoDB Roto Kitchen

Ma te mahara ko te tina, ka neke matou ki te kihini. Ka korero atu ahau ki a koe mo te tauira punaha, ara, he aha te MongoDB mo te hunga e rongo ana mo taua putunga korero mo te wa tuatahi.

HighLoad++, Mikhail Tyulenev (MongoDB): He rite tonu te take: mai i te ariā ki te mahi

HighLoad++, Mikhail Tyulenev (MongoDB): He rite tonu te take: mai i te ariā ki te mahi

Ko MongoDB (ka kiia i muri nei ko "MongoDB") he punaha toha e tautoko ana i te tauine whakapae, ara, te sharding; a kei roto i ia mahanga ka tautokohia ano hoki te taapiri raraunga, ara, te tukurua.

Ko te Sharding i MongoDB (ehara i te paataka hononga) ka mahi i te whakataurite aunoa, ara, ko ia kohinga tuhinga (he "tepu" ranei mo nga raraunga hononga) ka wehewehea ki nga wahanga, a ka nekehia e te tūmau i waenga i nga maramara.

Ko te Pouara Uiui, e tohatoha ana i nga tono, mo te kaihoko ko etahi kaihoko e mahi ana. Kua mohio ia ki hea me te aha nga raraunga kei te noho me te arahi i nga tono katoa ki te maramara tika.

Ko tetahi atu mea nui: MongoDB he rangatira kotahi. Kotahi te Paraimere - ka taea e ia te tango rekoata e tautoko ana i nga ki kei roto. Kare e taea e koe te tuhi maha-master.

I tukuna e matou te 4.2 - kua puta nga mea whakamere ki reira. Ina koa, i whakauruhia e ratou a Lucene - rapu - ara executable java tika ki Mongo, a i reira ka taea te rapu rapu ma roto i a Lucene, he rite ki a Elastica.

Na ratou i hanga he hua hou - Tūtohi, kei te wātea hoki i runga i Atlas (Mongo ake Kapua). He taumata kore utu ta ratou - ka taea e koe te takaro. I tino pai ahau ki nga Tutohi - tirohanga raraunga, tino mohio.

Ingredients Causal consistent

Tata ki te 230 nga tuhinga kua panuitia mo tenei kaupapa - na Leslie Lampert. Inaianei mai i taku mahara ka whakaatu atu ahau ki a koe etahi wahanga o enei rauemi.

HighLoad++, Mikhail Tyulenev (MongoDB): He rite tonu te take: mai i te ariā ki te mahi

I timata katoa i te tuhinga na Leslie Lampert, i tuhia i nga tau 1970. Kei te kite koe, kei te haere tonu etahi rangahau mo tenei kaupapa. Inaianei kei te kaha te aro o Causal rite ki te whanaketanga o nga punaha toha.

Whakataunga

He aha nga here kei reira? Koinei tetahi o nga tino kaupapa, na te mea he rereke nga here e tukuna ana e te punaha whakaputa mai i nga here kei roto i nga tuhinga matauranga. He mea hanga noa.

HighLoad++, Mikhail Tyulenev (MongoDB): He rite tonu te take: mai i te ariā ki te mahi

  • Tuatahi, "MongoDB" he rangatira kotahi, pera i taku korero (he tino ngawari tenei).
  • E whakapono ana matou me tautoko te punaha mo te 10 mano nga maramara. Kaore e taea e matou te whakatau i nga mahi hoahoanga ka tino whakawhāiti i tenei uara.
  • He kapua ta matou, engari ki ta matou whakaaro me whai waahi tonu te tangata ina tango ia i te rua, ka whakahaere i runga i tana pona, ka pai nga mea katoa.
  • Ka whakaarohia e matou tetahi mea kaore e whakaarohia e te Rangahau: ka taea e nga kiritaki o waho te mahi i nga mea e hiahia ana ratou. He puna tuwhera a MongoDB. Na reira, ka taea e nga kaihoko te tino mohio me te riri - ka hiahia ratou ki te wawahi i nga mea katoa. Ko ta matou whakapae tera pea i ahu mai nga Feilor Byzantine.
  • Mo nga kiritaki o waho kei waho o te paenga, he herenga nui: ki te monoa tenei ahuatanga, kaua e kitea te paheketanga mahi.
  • Ko tetahi atu take he anti-academic: te hototahitanga o nga putanga o mua me nga mea kei te heke mai. Me tautoko nga taraiwa tawhito i nga whakahou hou, a me tautoko te paataka korero i nga taraiwa tawhito.

I te nuinga o te waa, ko enei katoa he here.

Nga wahanga riterite take

Ka korero ahau inaianei mo etahi o nga waahanga. Mena ka whakaarohia e tatou te riterite Causal i te nuinga, ka taea e tatou te kowhiri i nga poraka. I whiriwhiria e matou nga mahi no tetahi poraka: Te Aroturuki Tiakitanga, te kowhiri i nga karaka, me pehea e taea ai enei karaka te tukutahi ki a raatau ano, me te pehea e whakarite ai i te haumarutanga - he whakahuahua taratara tenei mo taku korero:

HighLoad++, Mikhail Tyulenev (MongoDB): He rite tonu te take: mai i te ariā ki te mahi

Aroturuki Tiakitanga Katoa

He aha i hiahiatia ai? Na, ka tukuna nga raraunga, ko ia rekoata, kei ia huringa raraunga nga korero mo nga huringa e whakawhirinaki ana. Ko te huringa tuatahi me te koretake ko te wa kei ia karere kei roto he rekoata nga korero mo nga karere o mua:

HighLoad++, Mikhail Tyulenev (MongoDB): He rite tonu te take: mai i te ariā ki te mahi

I tenei tauira, ko te tau kei roto i nga taiapa mingimingi ko nga nama rekoata. I etahi wa ka whakawhitia katoatia enei rekoata me nga uara, i etahi wa ka whakawhitia etahi waahanga. Ko te rarangi o raro ko ia huringa kei roto nga korero mo te mea o mua (ma te mohio kei te kawe enei katoa i roto ia ia).

He aha matou i whakatau ai kia kaua e whakamahi i tenei huarahi (te aroturuki katoa)? Ma te mohio, na te mea he koretake tenei huarahi: ko nga huringa ki te whatunga hapori ka whakawhirinaki ki nga huringa katoa o mua ki taua whatunga hapori, te whakawhiti, me kii, Facebook, VKontakte ranei i ia whakahou. Heoi ano, he maha nga rangahau mo te Aroturuki Aroturuki Katoa - he hononga-a-iwi enei; mo etahi ahuatanga ka tino mahi.

Aroturuki Tiakitanga Maamaa

Ko te mea e whai ake nei he iti ake. Ka whakaarohia ano te whakawhitinga korero i konei, engari ko te mea e tino whakawhirinaki ana. He aha te mea, hei tikanga, ka whakatauhia e te Tono. Ina tukuna nga raraunga, ka whakahoki whakautu anake te patai ina kua makona nga whakawhirinaki o mua, ara, kua whakaatuhia. Koinei te ngako o te mahi a Causal consistency.

HighLoad++, Mikhail Tyulenev (MongoDB): He rite tonu te take: mai i te ariā ki te mahi

Ka kite ia ko te rekoata 5 e whakawhirinaki ana ki nga rekoata 1, 2, 3, 4 - na reira, ka tatari ia i mua i te uru atu o te kaihoko ki nga huringa i mahia e te whakatau uru a Penny, ina kua paahitia nga huringa katoa o mua i roto i te paataka.

Kare ano hoki tenei e pai ki a matou, na te mea he nui rawa atu nga korero, ka puhoi nga mahi. He huarahi ano...

Karaka Lamport

He tawhito rawa ratou. Ko te tikanga o te Karaka Lamport ka takai enei herenga ki tetahi mahi scalar, e kiia nei ko Lamport Clock.

Ko te mahi tauine he tau waitara. He maha nga wa e kiia ana ko te waa arorau. I ia huihuinga, ka piki ake tenei porotiti. Kaitatau, e mohiotia ana i tenei wa ki te mahi, ka tukuna ia karere. E marama ana ka kore e rite nga mahi, ka rereke nga waa. Heoi ano, ka whakatauritehia e te punaha te karaka me enei momo karere. He aha te mea ka tupu i tenei keehi?

I wahia e ahau taua maramara nui kia rua kia marama ai: Ka taea e nga hoa te noho ki roto i te node kotahi, kei roto tetahi waahanga o te kohinga, ka noho a Feed ki tetahi atu node, kei roto tetahi waahanga o tenei kohinga. Kei te maarama me pehea e puta ai ratou i te raina? Ko te Whangai Tuatahi ka kii: "Kua Whakahokia", katahi e Hoa. Ki te kore te punaha e whakarato i tetahi momo taurangi ka kore e whakaatuhia te Whangai kia tukuna mai ra ano nga whakawhirinakitanga Hoa i roto i te kohinga Hoa, katahi ka rite tonu te ahuatanga i korerotia e au.

Ka kite koe me pehea te piki tika o te taima porotiti i runga i te Whāngai:

HighLoad++, Mikhail Tyulenev (MongoDB): He rite tonu te take: mai i te ariā ki te mahi

Na ko te tino taonga o tenei Karaka Lamport me te Karaka Causal (whakamaramahia ma te Karaka Lamport) ko tenei: mena kei a tatou nga Takahanga A me te B, a ka whakawhirinaki te Takahanga B ki te Takahanga A*, ka whai ake ko te Waa arorau o te Takahanga A he iti iho i te Wā arorau mai i te Takahanga B.

* I etahi wa ka kii ano ratou i puta a A i mua i a B, ara, i puta a A i mua i a B - he hononga tenei e whakahau ana i te huinga katoa o nga huihuinga i puta i te nuinga.

Ko te ritenga he he. Koinei tonu tetahi o nga tino ngoikoretanga o te Karaka Lamport - he waahanga waahanga. He ariā mo nga huihuinga tukutahi, ara, ko nga huihuinga kaore he (A i puta i mua i te B) me te (A i puta i mua i te B). Ko tetahi tauira ko te taapiri whakarara a Leonard ki tetahi atu hei hoa (kaore ko Leonard, engari ko Sheldon, hei tauira).
Koinei te taonga e whakamahia ana i te wa e mahi ana me nga karaka Lamport: ka titiro motuhake ratou ki te mahi, mai i tenei ka whakatau ratou ko enei huihuinga ka whakawhirinaki. Na te mea he pono tetahi ara: mena he iti ake te Waa Arorau A i te Waa Arorau B, kaore e taea te B i mua i te A; a ki te nui ake, tera pea.

Karaka Vector

Ko te whanaketanga arorau o te karaka Lamport ko te Karaka Vector. He rerekee i te mea kei ia pona kei konei tana ake karaka motuhake, ka tukuna hei vector.
I tenei take, ka kite koe ko te taurangi kore o te vector te kawenga mo te whangai, a ko te taurangi tuatahi o te vector mo nga Hoa (ia enei pona). Na inaianei ka piki ake: ka piki ake te taurangi kore o "Whangai" i te wa e tuhi ana - 1, 2, 3:

HighLoad++, Mikhail Tyulenev (MongoDB): He rite tonu te take: mai i te ariā ki te mahi

He aha i pai ake ai te Karaka Vector? Na te mea ka taea e koe te whakaaro he aha nga huihuinga ka noho tahi me te wa e puta ana ki nga waahanga rereke. He mea tino nui tenei mo te punaha sharding penei i a MongoDB. Heoi, kaore matou i whiriwhiri i tenei, ahakoa he mea whakamiharo, he pai te mahi, a ka pai pea ki a matou...

Mena he 10 mano nga taara, kaore e taea e taatau te whakawhiti i te 10 mano nga waahanga, ahakoa ka pehia e tatou, ka puta mai ranei tetahi atu mea - he maha nga wa ka iti ake te utu i te rahi o tenei vector katoa. No reira, ka ngau o matou ngakau me o matou niho, ka whakarerea e matou tenei huarahi, ka neke ki tetahi atu.

Spanner TrueTime. Karaka ngota

I kii ahau ka puta he korero mo Spanner. He mea tino pai tenei, mai i te rautau XNUMX: nga karaka ngota, te tukutahi GPS.

He aha te whakaaro? Ko te "Spanner" he punaha a Google katahi ano ka waatea ki nga taangata (i taapirihia e ratou a SQL). Kei ia tauwhitinga he tohu wa. I te mea kua tukutahia te taima*, ka taea te whakarite i ia huihuinga he wa motuhake - he wa tatari mo nga karaka ngota, ka mutu he waa rereke ka "ka tupu".

HighLoad++, Mikhail Tyulenev (MongoDB): He rite tonu te take: mai i te ariā ki te mahi

No reira, ma te tuhi noa ki te paataka korero me te tatari mo etahi wa, ka whakamanahia te Serializability o te huihuinga. Kei a ratou te tauira Tauritenga kaha rawa atu ka taea te whakaaro i runga i te maapono - ko te Tauritenga o waho.

* Koinei te raru nui ki nga karaka Lampart - kaore e rite ki nga punaha toha. Ka taea te rereke; ahakoa me te NTP, kaore i te tino pai te mahi. Ko te "Spanner" he karaka ngota me te tukutahi, te ahua nei, he moroiti.

He aha tatou i kore ai i whiriwhiri? Kaore matou e kii he karaka ngota kei a matou kaiwhakamahi. Ka puta mai, ka hangaia ki roto i nga pona katoa, ka puta mai etahi momo tukutahi GPS tino pai - katahi ka ae... Engari inaianei ko te mea pai rawa atu ko te Amazon, ko nga Teihana Turanga - mo nga kaiwhaiwhai ... Na ka whakamahia e matou etahi atu mataaratanga .

Karaka Ranu

Koinei tonu te mea e tohuhia ana i MongoDB i te wa e whakarite ana i te rite tonu o Causal. He pehea te ranu? He uara scalar te Hybrid, engari e rua nga waahanga:

HighLoad++, Mikhail Tyulenev (MongoDB): He rite tonu te take: mai i te ariā ki te mahi

  • Ko te tuatahi ko te Unix epoch (e hia nga hēkona kua pahemo mai i te "timatanga o te ao rorohiko").
  • Ko te tuarua ko etahi taapiri, he 32-bit kaore ano i hainatia.

Ko te katoa, mau. Ko tenei huarahi: ko te waahanga e tika ana mo te wa ka tukutahi me te karaka i nga wa katoa; I nga wa katoa ka puta he whakahou, ka tukutahia tenei waahanga me te karaka ka puta ko te waa he nui ake, he iti ake ranei te tika, a ko te pikinga ka taea e koe te wehewehe i waenga i nga kaupapa i puta i te wa kotahi.

He aha te mea nui mo MongoDB? Na te mea ka taea e koe te hanga i etahi momo wharekai taapiri i tetahi wa i te waa, ara, ka tohua te huihuinga ma te waa. He mea nui tenei ina hiahiatia etahi huihuinga; Mō te pātengi raraunga, ko ngā takahanga he huringa i roto i te pātengi raraunga i puta i ētahi wā o te wā.

Ka korerotia e ahau ki a koe te take tino nui ki a koe anake (tena koa, kaua e korero ki tetahi)! I mahia e matou na te mea koinei te ahua o nga raraunga kua whakariteritehia, kua taurangitia ki MongoDB OpLog. Ko te OpLog he hanganga raraunga kei roto i nga huringa katoa i roto i te paataka raraunga: ka haere tuatahi ki OpLog, katahi ka tukuna atu ki te Rokiroki ake i te mea he ra tukurua, he maramara ranei.

Koinei te tino take. Heoi ano, he whakaritenga whaitake mo te whakawhanake i te papaa raraunga, ko te tikanga me ngawari - he waehere iti, he iti noa nga mea pakaru ka taea te tuhi me te whakamatau. Na te mea i tohuhia o matou oplogs e nga karaka ranu i awhina nui, i taea ai e matou te whiriwhiri tika. I tino whai hua me te mahi makutu i runga i te tauira tuatahi. He tino hauhautanga!

Tukutahi karaka

He maha nga tikanga tukutahi e whakaahuatia ana i roto i nga tuhinga putaiao. E korero ana ahau mo te tukutahitanga ina e rua nga maramara rereke. Mena he huinga tauira kotahi, kaore he take mo te tukutahitanga: he "rangatira kotahi" tenei; kei a matou he OpLog, ka taka katoa nga huringa - i tenei keehi, kua ota katoa nga mea katoa i roto i te "Oplog" ake. Engari ki te rua nga maramara rereke, he mea nui ki konei te tukutahitanga wa. Koinei te waahi i awhina ake te karaka vector! Engari kaore i a matou.

HighLoad++, Mikhail Tyulenev (MongoDB): He rite tonu te take: mai i te ariā ki te mahi

Ko te tuarua he pai - ko "Heartbeats" tenei. Ka taea te whakawhiti i etahi tohu ka puta i ia waahanga wa. Engari he puhoi rawa te Patu o te Manawa, kaore e taea e matou te tuku torohū ki to taatau kiritaki.

Ko te wa pono, he mea whakamiharo. Engari, ano, koinei pea te wa kei te heke mai ... Ahakoa ka taea te mahi i Atlas, kua tere kee te "Amazon" nga wa synchronizers. Engari e kore e watea ki te katoa.

Ko te kohukohu ko te wa ka uru nga karere katoa. Koinei te mea e whakamahia ana e matou. Ko nga karere katoa i waenga i nga pona, he taraiwa, he pouara node raraunga, ko nga mea katoa mo MongoDB he momo huānga, he waahanga raraunga kei roto he karaka e rere ana. Kei a raatau te tikanga o te waa ranu ki nga waahi katoa, ka tukuna. 64 moka? Ka taea tenei, ka taea tenei.

Me pehea te mahi tahi?

Anei ahau e titiro ana ki tetahi huinga tauira kia ngawari ake. He Paraimere me te Tuarua. Ka mahi tāruarua a Tuarua, ā, kāore i te tino tukutahi ki te Paraimere.

Ka puta he whakaurunga ki roto i te "Primy" me tetahi uara wa. Ka whakanuia e tenei whakauru te tatau o roto ma te 11, mena koinei te nui rawa. Ka tirohia ranei nga uara karaka ka tukutahi ki te karaka mena he nui ake nga uara karaka. Ma tenei ka taea e koe te whakarite i te waa.

I muri i tana mahi rekoata, ka puta he wa nui. Ko te karaka kei "MongoDB" ka piki ake mena ka tuhia ki "Oplog". Koinei te huihuinga ka huri i te ahua o te punaha. I roto i nga tuhinga matarohia katoa, ka kiia he huihuinga ko te wa e pa ana tetahi karere ki tetahi node: kua tae mai te karere, ko te tikanga kua rereke te ahua o te punaha.

Ko tenei na te mea i te wa e rangahau ana kaore i te tino marama me pehea te whakamaoritanga o tenei karere. E tino mohio ana matou ki te kore e whakaatuhia i roto i te "Oplog", karekau e whakamaoritia i tetahi huarahi, a ko te huringa o te ahua o te punaha he urunga noa ki te "Oplog". Ma tenei ka ngawari nga mea katoa mo tatou: ka ngawari te tauira, ka taea e tatou te whakarite i roto i te huinga tauira kotahi, me te maha atu o nga mea whai hua.

Ko te uara kua oti te tuhi ki te "Oplog" ka whakahokia - e mohio ana matou kei roto i te "Oplog" tenei uara, a ko tona wa ko 12. Na, me kii, ka timata te panui mai i tetahi atu pona (Secondary), ka tukuna i muriClusterTime i roto te karere. Ka kii ia: "Kei te hiahia ahau ki nga mea katoa i tupu i muri i te 12, i te tekau ma rua ranei" (tirohia te pikitia i runga ake nei).

Koinei te mea e kiia nei ko Causal a consistent (CAT). He ahua penei i roto i te ariā he wahanga o te waa tenei, he rite tonu ki a ia ano. I tenei keehi, ka taea e tatou te kii koinei te ahua o te punaha i kitea i te wa 12.

Inaianei kaore ano he mea i konei, na te mea ka whakatauira tenei ahuatanga i te wa e hiahia ana koe ki te Tuarua ki te whakahoki i nga raraunga mai i te Paraimere. Kei te tatari ia ... Na kua tae mai nga raraunga - ka whakahokia e ia enei uara.

HighLoad++, Mikhail Tyulenev (MongoDB): He rite tonu te take: mai i te ariā ki te mahi

Ko te ahua o te mahi katoa. Tata tonu.

He aha te tikanga o te "tata"? Me whakaaro tatou he tangata kua panui me te mohio ki te mahi o enei mea katoa. I mohio ahau i nga wa katoa ka puta a ClusterTime, ka whakahouhia te karaka arorau o roto, katahi ka piki ake te urunga e whai ake nei ma te kotahi. E 20 nga raina o tenei mahi. Me kii ka tukuna e tenei tangata te nama 64-bit nui rawa, haunga te kotahi.

He aha te take "minus one"? Na te mea ka whakakapihia te karaka o roto ki tenei uara (mehemea, koinei te mea nui rawa atu, nui atu hoki i te wa o naianei), katahi ka puta he urunga ki "Oplog", ka piki ake te karaka ki tetahi atu wae - a kua tae ke atu. he uara teitei (he mea noa nga waeine katoa, kaore he waahi ke atu) , innts unint).

E marama ana i muri i tenei ka tino kore e taea e te punaha mo tetahi mea. Ka taea anake te tango me te horoi - he maha nga mahi a-ringa. Wātea katoa:

HighLoad++, Mikhail Tyulenev (MongoDB): He rite tonu te take: mai i te ariā ki te mahi

I tua atu, ki te tukuna tenei ki tetahi atu waahi, ka hinga noa te kohinga katoa. He ahuatanga tino kore e whakaaetia ka taea e tetahi te whakarite tere me te ngawari! Na reira, i whakaarohia e matou tenei waa ko tetahi o nga mea tino nui. Me pehea te aukati?

Ko ta matou huarahi ko te haina clusterTime

Koinei te huarahi e tukuna ai i roto i te karere (i mua i te tuhinga kikorangi). Engari i timata ano matou ki te whakaputa hainatanga (kuputuhi kikorangi):

HighLoad++, Mikhail Tyulenev (MongoDB): He rite tonu te take: mai i te ariā ki te mahi

Ko te hainatanga he mea hanga e te taviri e rongoatia ana ki roto i te putunga raraunga, ki roto i te paenga haumaru; ka hangaia, ka whakahouhia (kaore nga kaiwhakamahi e kite i tetahi mea mo taua mea). Ka hangaia he hash, ka hainatia ia karere ina hanga ana ka whakamanahia ina tae mai.
Ka puta ake pea te patai i roto i nga hinengaro o te tangata: "He aha te nui o te whakaroa i nga mea?" I korero ahau ki a koe me tere te mahi, ina koa ki te kore o tenei waahanga.

He aha te tikanga o te whakamahi Causal consistency i roto i tenei keehi? Ko tenei hei whakaatu i te tawhā afterClusterTime. Ki te kore tenei, ka tukuna noa nga uara. Ko te kohukohu, timata mai i te putanga 3.6, ka mahi tonu.

Mena ka waiho e tatou te whakatipuranga tonu o nga hainatanga, ka puhoi te punaha ahakoa te kore o tetahi ahuatanga, kaore e tutuki i a tatou huarahi me o tatou whakaritenga. Na he aha ta matou mahi?

Kia tere!

He mea tino ngawari, engari he mea whakamere te tinihanga - ka tohatohahia e au, tera pea ka aro mai tetahi.
Kei a matou he hash hei pupuri i nga raraunga kua hainatia. Ka haere nga raraunga katoa ma te keteroki. Kaore te keteroki e haina i te waa motuhake, engari ko te Awhe. Ka tae mai etahi uara, ka whakaputahia he Awhe, ka huna i nga moka 16 whakamutunga, ka hainatia tenei uara:

HighLoad++, Mikhail Tyulenev (MongoDB): He rite tonu te take: mai i te ariā ki te mahi

Ma te whiwhi i taua hainatanga, ka tere ake te punaha (te ahua) 65 mano nga wa. He pai te mahi: i te wa i mahia e matou nga whakamatautau, kua heke iho te waa ma te 10 mano nga wa i a maatau he whakahou raupapa. E marama ana, i te wa e taupatupatu ana, kare e whai hua. Engari i roto i te nuinga o nga keehi ka mahi. Ko te huinga o te hainatanga Range me te hainatanga i whakaoti te raruraru haumarutanga.

He aha ta tatou i ako?

Ko nga akoranga i akohia mai i tenei:

  • Me panui nga taonga, nga korero, nga tuhinga, na te mea he maha nga mea whakamere. I te wa e mahi ana matou i etahi waahanga (ina koa inaianei, i te wa i mahi maatau, me etahi atu), me panui me te maarama. Ka roa te wa, engari he mea tino whai hua na te mea ka maarama kei hea tatou. Te ahua nei kaore matou i puta mai he mea hou - i tango noa matou i nga kai.

    I te nuinga o te waa, he rereke te whakaaro i te wa e tu ana he huihuinga matauranga (hei tauira a Sigmon) - ka aro te katoa ki nga whakaaro hou. He aha te mea hou mo to maatau algorithm? Kaore he mea hou i konei. Ko te mea hou kei runga i te whakakotahitanga o nga huarahi o mua. Na reira, ko te mea tuatahi ko te panui i nga karaehe, timata mai i a Lampart.

  • I roto i te hanga, he rereke nga whakaritenga. E tino mohio ana ahau he maha o koutou kaore i te aro ki nga papaaarangi "porowhita" i roto i te koretake, engari me nga mea noa, he tino raruraru kei te waatea, te waatea me te aukati i te he.
  • Ko te mea whakamutunga me titiro ki nga whakaaro rereke me te whakakotahi i etahi tuhinga rereke katoa ki te huarahi kotahi. Ko te whakaaro mo te hainatanga, hei tauira, i ahu mai i tetahi tuhinga e whakaaro ana ki te kawa Paxos, mo te hunga kore-Byzantine Failor kei roto i te kawa whakamana, mo nga Byzantine - kei waho o te kawa whakamana... I te nuinga, koinei tonu ta matou ka mutu te mahi.

    Kaore rawa he mea hou i konei! Engari i te wa i konatunatuahia e matou nga mea katoa ... He rite tonu ki te korero ko te tunu huamata o Olivier he mea kore noa, no te mea kua hangaia nga hua, te mayonnaise me nga kukama ... He rite tonu te korero.

HighLoad++, Mikhail Tyulenev (MongoDB): He rite tonu te take: mai i te ariā ki te mahi

Ka mutu ahau ki tenei. Mauruuru koe!

Au uiui

He patai na te hunga whakarongo (ka kiia ko B): – Mauruuru koe, Mikhail, mo te purongo! He rawe te kaupapa mo te wa. Kei te whakamahi koe i te Gossiping. I kii ratou he wa ano to te katoa, kei te mohio te katoa ki o raatau waa rohe. Ki taku mohio, he kaitaraiwa ta matou - he maha nga kaihoko me nga taraiwa, he kaiwhakatakoto uiui, he mahanga hoki... He aha te take o te punaha mena ka puta ohorere mai he rereketanga: ka whakatau tetahi mo te meneti kei mua, he meneti kei muri? Ka mutu tatou ki hea?

MT: – Tino pai te patai! I hiahia noa ahau ki te korero mo nga kongakonga. Ki te tika taku mohio ki te patai, kei a matou te ahuatanga e whai ake nei: he maramara 1 me te maramara 2, ka puta te panui mai i enei maramara e rua - he rerekee, kaore i te taunekeneke tetahi ki tetahi, na te mea he rereke te waa e mohio ana ratou, ina koa ko te waa kei roto i nga oplogs.
Me kii he miriona nga rekoata i mahia e te shard 1, karekau he mahi a te shard 2, ka tae te tono ki te rua maramara. A ko te mea tuatahi he muriClusterTime neke atu i te kotahi miriona. I roto i nga ahuatanga penei, penei i taku whakamarama, kaore rawa te shard 2 e whakahoki mai.

V: – I hiahia ahau ki te mohio me pehea te tukutahi me te whiriwhiri i tetahi waa arorau?

MT: - Tino ngawari ki te tukutahi. Shard, ka tae mai a muriClusterTime ki a ia karekau e kitea he wa i roto i te "Oplog", ka kore e whakaaetia. Arā, ka hikina e ia tōna wā me ōna ringa ki tēnei wāriu. Ko te tikanga karekau he takahanga e rite ana ki tenei tono. Ka waihangahia e ia tenei huihuinga, na reira ka noho tonu te Causal Consistent.

V: – He aha mehemea i muri i tenei ka tae mai etahi atu kaupapa ki a ia i ngaro i tetahi wahi i roto i te whatunga?

MT: – Kua hoahoatia te Shard kia kore ai e hoki mai ano, na te mea he rangatira kotahi. Mena kua haina kee ia, karekau ratou e haere mai, engari ka tae mai a muri ake nei. Kaore e taea te mea ka mau tetahi mea ki tetahi waahi, katahi ka kore ia e tuhi, katahi ka tae mai enei huihuinga - ka pakaru te ahua o te Causal. Ki te kore ia e tuhi, me haere mai ratou katoa (ka tatari ia mo ratou).

HighLoad++, Mikhail Tyulenev (MongoDB): He rite tonu te take: mai i te ariā ki te mahi

V: – He maha aku patai mo nga rarangi. Ko te rite tonu o te take e kii ana he rarangi motuhake o nga mahi e tika ana kia mahia. Ka aha mena ka ngaro tetahi o a maatau kete? Ka tae mai te 10, te 11... kua ngaro te 12, kei te tatari katoa kia tutuki. Na ka mate ohorere to maatau waka, kaore e taea e matou tetahi mea. He morahi te roa o te rarangi ka whakaemi i mua i te mahia? He aha te mate kino ka puta ina ngaro tetahi whenua? I tua atu, ki te tuhia e tatou he ahua o mua, me timata mai i tera? Aita râ ratou i turai ia ’na!

MT: – He patai nui ano! Kei te aha tatou? Kei a MongoDB te kaupapa o te koorum tuhi, koorum panui. He aha nga ahuatanga ka ngaro te karere? Mena karekau te tuhi i te koorum, ki te kore ranei te panui i te koorum (ka piri ano etahi momo para).
Mo te riterite Causal, i mahia he whakamatautau whakamatautau nui, ko te hua o te mea ko te tuhi me te panui karekau i te koorum, ka puta he takahi i te riterite Causal. Tika tonu to korero!

Ko ta matou tohutohu: me whakamahi i te panui panui i te wa e whakamahi ana i te Causal consistent. I tenei keehi, kaore he mea e ngaro, ahakoa ka ngaro te rekoata o te koorama ... He ahuatanga orthogonal tenei: ki te kore te kaiwhakamahi e hiahia kia ngaro nga raraunga, me whakamahi e ia he rekoata koorum. Ko te rite o te take kaore e kii i te mauroa. Ka whakamanahia te mauroa ma te tukurua me nga miihini e hono ana ki te tukurua.

V: - Ka hangahia e matou he tauira e mahi ana i te tiritiri mo matou (ehara i te rangatira, engari he pononga, ia), ka whakawhirinaki ki te wa Unix o tana ake miihini, ki te wa ranei o te "rangatira"; Ka tukutahi mo te wa tuatahi, i ia waa ranei?

MT: – Ka whakamarama ahau inaianei. Shard (arā, te wehewehe whakapae) – kei reira tonu te Paraimere. A ka taea e te kongakonga he "rangatira" a tera pea he tauira. Engari ka tautoko tonu te kongakonga i te rekoata, na te mea me tautoko etahi rohe (kei te Maariki te Paraimere).

V: – Na ka whakawhirinaki nga mea katoa ki te "rangatira"? Kei te whakamahia tonu te wa rangatira?

MT: - Ae. Ka taea e koe te kii: kei te tarai te karaka i te wa ka uru mai te urunga ki te "master", ki te "Oplog".

V: - Kei a matou he kaihoko e hono ana me te kore e mohio ki tetahi mea mo te wa?

MT: - Kaore koe e hiahia ki te mohio ki tetahi mea! Mena ka korero tatou mo te mahi i runga i te kiritaki: ka hiahia te kiritaki ki te whakamahi i te Causal consistency, me whakatuwhera e ia he waahi. Inaianei kei reira nga mea katoa: nga whakawhitiwhitinga i roto i te huihuinga, me te whakahoki mai i tetahi motika... Ko te huihuinga ko te raupapa o nga kaupapa arorau ka puta me te kaihoko.

Mena ka whakatuwheratia e ia tenei wahanga ka kii i reira e hiahia ana ia kia rite tonu te Causal (mehemea kei te tautoko te huihuinga Causal ma te taunoa), ka mahi aunoa nga mea katoa. Ka maumahara te kaitaraiwa i tenei waa ka piki ake ina whiwhi karere hou. Ka maumahara he aha te whakautu o mua i whakahokia mai i te tūmau nana i whakahoki nga raraunga. Ko te tono e whai ake nei ka whai afterCluster("wa nui ake i tenei").

Kaore e hiahia ana te kaihoko ki te mohio ki tetahi mea! He tino puataata tenei ki a ia. Mena ka whakamahia e te tangata enei ahuatanga, ka aha? Tuatahi, ka taea e koe te panui i nga kura tuarua: ka taea e koe te tuhi ki te Paraimere me te panui mai i nga kura tuarua kua rite ki te matawhenua me te mohio kei te pai. I taua wa ano, ka taea e koe te whakawhiti i nga wahanga i tuhia ki te Paraimere ki te Kura Tuarua, ara, kaua e taea te whakamahi i te wahanga kotahi, engari he maha.

V: – He paparanga hou o te Compute science – CRDT (Conflict-free Replicated Data Types) momo raraunga – e tino pa ana ki te kaupapa o te riterite o te mutunga. Kua whakaaro koe ki te whakauru i enei momo raraunga ki roto i te paataka raraunga me te aha e taea e koe te korero mo taua mea?

MT: - He patai pai! He pai te CRDT mo te tuhi i nga pakanga: i MongoDB, rangatira kotahi.

V: – He patai taku na nga devops. I roto i te ao tuuturu, tera ano nga ahuatanga a Jesuitical i te wa e pa ana te Byzantine Failure, ka tiimata nga tangata kino i roto i te waahi whakamarumaru ki te kuhu ki roto i te kawa, ka tukuna nga kete toi i tetahi huarahi motuhake?

HighLoad++, Mikhail Tyulenev (MongoDB): He rite tonu te take: mai i te ariā ki te mahi

MT: – He rite ki te hoiho Torotiana nga tangata kino i roto i te paenga! He maha nga mahi kino ka mahia e nga tangata kino i roto i te waahi.

V: – E marama ana ko te wehe atu, he kohao ki roto i te tūmau e taea ai e koe te whakanoho i te whare kararehe arewhana ka tihorea te kahui katoa mo ake tonu atu... Ka roa te wa mo te whakaora a-ringa... Ko tenei, ki te ngawari, he hē. I tetahi atu taha, he mea whakamiharo tenei: i roto i te ao tuuturu, i roto i nga mahi, he waahi ka puta nga whakaeke o roto?

MT: - I te mea he uaua ka tutaki ahau ki nga pakaru haumarutanga i roto i te ao tuuturu, kaore au e kii mena ka tupu. Engari ki te korero tatou mo te kaupapa whanaketanga, penei ta tatou whakaaro: kei a tatou he paenga e whakarato ana i nga taangata e mahi haumaru ana - he whare rangatira tenei, he taiepa; a i roto i te paenga ka taea e koe te mahi i nga mea e hiahia ana koe. He marama kei reira nga kaiwhakamahi e kaha ana ki te tiro anake, kei reira ano nga kaiwhakamahi whai mana ki te whakakore i te raarangi.

I runga i nga tika, ko te kino ka taea e nga kaiwhakamahi he kiore, he arewhana ranei. E marama ana ka taea e te kaiwhakamahi whai mana katoa te mahi i nga mea katoa. Ko te kaiwhakamahi whai mana iti ka iti ake te kino. Ina koa, kaore e taea te pakaru i te punaha.

V: – I roto i te paenga whakamarumaru, ka ngana tetahi ki te hanga i nga kawa ohorere mo te tūmau kia taea ai te whakangaro rawa i te tūmau, ā, ki te waimarie koe, te kāhui katoa... Kei te whiwhi i taua “pai”?

MT: "Kaore au i rongo mo enei mea." Ko te mea ka taea e koe te tukinga i tetahi tūmau i tenei ara ehara i te mea ngaro. Kore i roto, no roto mai i te kawa, he kaiwhakamahi whai mana ka taea te tuhi penei i roto i te karere ... Inaa, kaore e taea, no te mea ka whakamanahia tonutia. Ka taea te whakakore i tenei motuhēhēnga mō ngā kaiwhakamahi kāre e hiahia ana - koira te raru; na ratou ano i patu nga pakitara, ka taea e koe te turaki i te arewhana ki roto, ka takahia... Engari i te nuinga o te waa, ka taea e koe te whakakakahu hei tangata whakatika, haere mai ki te kumea ki waho!

V: – Nga mihi mo te ripoata. Sergey (Yandex). He tau tonu kei Mong e whakawhāiti ana i te maha o nga mema pooti i roto i te Tauira Tauira, a he 7 (whitu) tenei tuturu. He aha te mea he tuturu tenei? He aha i kore ai tenei he momo tawhā?

MT: – Kei a matou nga huinga tauira me nga waahanga 40. He maha tonu te nuinga. Kaore au i te mohio ko tehea putanga...

V: – I roto i te Replica Set ka taea e koe te whakahaere i nga mema kore-pooti, ​​engari he nui rawa atu nga mema pooti 7. Me pehea e ora ai tatou i te katinga i tenei keehi mena ka horahia to tatou Tauira Tauira puta noa i nga pokapū raraunga 3? Ka taea e tetahi pokapū raraunga te whakaweto, ka taka tetahi miihini.

MT: – He iti noa atu tenei i te waahi o te purongo. He patai whanui tenei. Tera pea ka taea e au te korero ki a koe a muri ake nei.

HighLoad++, Mikhail Tyulenev (MongoDB): He rite tonu te take: mai i te ariā ki te mahi

Ko etahi panui 🙂

Mauruuru koe mo te noho ki a matou. He pai ki a koe a maatau tuhinga? Kei te hiahia koe ki te kite i etahi atu mea whakamere? Tautokohia matou ma te tuku ota me te tuku korero ki o hoa, kapua VPS mo nga kaihanga mai i te $4.99, he tairitenga ahurei o nga kaitoro taumata-urunga, na matou i hanga mo koe: Ko te pono katoa mo VPS (KVM) E5-2697 v3 (6 Cores) 10GB DDR4 480GB SSD 1Gbps mai i te $19 me pehea ranei te tiri i tetahi tūmau? (e waatea ana me te RAID1 me te RAID10, tae atu ki te 24 matua me te 40GB DDR4).

Dell R730xd 2x iti ake i te pokapū raraunga Equinix Tier IV i Amsterdam? Anei i konei 2 x Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 TV mai i te $199 i roto i te Netherlands! Dell R420 - 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB - mai i te $99! Pānuihia mo Me pehea te hanga hanganga corp. akomanga ki te whakamahi o Dell R730xd E5-2650 v4 tūmau utu 9000 euros mo te pene?

Source: will.com

Tāpiri i te kōrero