Ko nga ao he hoari-taonga mo te penapena raraunga. Nga rakau. Wāhanga 2

Ko nga ao he hoari-taonga mo te penapena raraunga. Nga rakau. Wāhanga 2Te tiimata - tirohia te waahanga 1.

3. Nga momo hangahanga ina whakamahi i te ao

He maha nga take motuhake o te hanganga penei i te rakau kua ota. Kia whai whakaaro tatou ki nga mea e whai hua ana i te wa e mahi tahi ana me te ao.

3.1 Take motuhake 1. Kotahi te node kahore he manga


Ko nga ao he hoari-taonga mo te penapena raraunga. Nga rakau. Wāhanga 2Ka taea te whakamahi i te ao ehara i te mea he huinga, engari ano he taurangi auau. Hei tauira, hei porotiti:

Set ^counter = 0  ; установка счётчика
Set id=$Increment(^counter) ;  атомарное инкрементирование

I tenei take, ko te ao, i tua atu i tona tikanga, ka taea ano e nga manga. Kaore tetahi e whakakore i tetahi atu.

3.2 Keehi motuhake 2. Kotahi te pito me te maha o nga manga

I te nuinga o te waa, he turanga uara-matua matarohia tenei. A, ki te penapena tatou i te tuple o nga uara hei uara, ka whiwhi tatou i tetahi teepu tino noa me te matua matua.

Ko nga ao he hoari-taonga mo te penapena raraunga. Nga rakau. Wāhanga 2

Hei whakatinana i te ripanga ki te ao, me whakaputa e tatou nga rarangi mai i nga uara pou, katahi ka penapena ki te ao ma te whakamahi i te matua matua. Kia taea ai te wehewehe i te aho ki nga pou i te wa e panui ana, ka taea e koe te whakamahi:

  1. pūāhua kaiwehe.
    Set ^t(id1) = "col11/col21/col31"
    Set ^t(id2) = "col12/col22/col32"
  2. he kaupapa pakari e noho ana ia mara ki te maha o nga paita kua whakaritea. Ka rite ki te mahi i roto i nga paaunga hononga.
  3. he mahinga motuhake $LB (e waatea ana i te Keteroki), ka hangaia he aho o nga uara.
    Set ^t(id1) = $LB("col11", "col21", "col31")
    Set ^t(id2) = $LB("col12", "col22", "col32")

Ko te mea whakamiharo, ehara i te mea uaua ki te whakamahi i nga ao ki te mahi i tetahi mea e rite ana ki nga tohu tohu tuarua i roto i nga papaa paaunga hononga. Karangahia enei hanganga taupū ao. Ko te index global he rakau awhina mo te rapu tere i nga mara ehara i te waahanga o te matua matua o te ao. Hei whakakī me te whakamahi, me tuhi he waehere taapiri.

Me hanga he taurangi mo te ao ki te pou tuatahi.

Set ^i("col11", id1) = 1
Set ^i("col12", id2) = 1

Inaianei, kia tere te rapu korero i te rarangi tuatahi, me titiro ki te ao ^i ka kimihia nga taviri tuatahi (id) e rite ana ki te uara e hiahiatia ana o te pou tuatahi.

Ina whakauruhia he uara, ka taea e tatou te hanga i te uara me te ao taurangi mo nga mara e hiahiatia ana. A mo te pono, me takai katoa i roto i te tauwhitinga.

TSTART
Set ^t(id1) = $LB("col11", "col21", "col31")
Set ^i("col11", id1) = 1
TCOMMIT

Nga korero mo te mahi i runga i te M tepu i runga i te ao, te whai i nga tohu tuarua.

Ka tere te mahi pera i roto i nga papaa raraunga tuku iho (he tere ake ranei) mena ka tuhia nga mahi mo te whakauru/whakahou/te whakakore i nga rarangi ki te COS/M ka whakahiatohia.I tirotirohia e au tenei korero me nga whakamatautau mo te INSERT me te SELECT ki tetahi ripanga rua-tīwae, tae atu ki te whakamahi i nga tono TSTART me TCOMMIT (whakawhitinga).

Kaore au i whakamatau i nga ahuatanga uaua ake me te uru tahi me nga whakawhitinga whakarara.

Ki te kore e whakamahi i nga tauwhitinga, ko te reiti whakauru ko te 778 whakauru / hekona mo ia miriona uara.
Ki te 300 miriona uara - 422 whakauru / tuarua.

I te wa e whakamahi ana i nga whakawhitinga - 572 whakauru / tuarua mo nga whakaurunga 082M. I mahia nga mahi katoa mai i te waehere M kua whakahiato.
He rite tonu nga puku pakeke, ehara i te SSD. RAID5 me te Tuhi-hoki. Phenom II 1100T pūtukatuka.

Hei whakamatautau i tetahi papaa raraunga SQL i roto i te ahua rite, me tuhi koe i tetahi tikanga rongoa hei whakauru i roto i te kohanga. I te whakamatautau i a MySQL 5.5 (InnoDB rokiroki), ma te whakamahi i tenei tikanga ka whiwhi au i nga nama kaore i neke atu i te 11K whakauru ia rua.
Ae, ko te whakatinanatanga o nga ripanga i runga i te ao he ahua uaua ake i nga paaunga hononga. Na reira, ko nga papaa raraunga ahumahi i runga i te ao ka whai waahi SQL ki te whakangwari i nga mahi me nga raraunga ripanga.

Ko nga ao he hoari-taonga mo te penapena raraunga. Nga rakau. Wāhanga 2I te nuinga o te waa, ki te kore e rereke te raupapa raraunga, karekau te tere o te whakaurunga he mea tino nui, ka ngawari te whakaatu i te papaaarangi katoa ki te ahua o nga ripanga kua whakaritea, katahi ka ngawari ake te mahi me te SQL, na te mea he nui ake te tangohanga. .

Ko nga ao he hoari-taonga mo te penapena raraunga. Nga rakau. Wāhanga 2I tenei keehi i hiahia ahau ki te whakaatu i tera Ka taea e te ao te mahi hei kaihanga mo te hanga i etahi atu papaa raraunga. Ka rite ki te assembler e taea te tuhi i etahi atu reo. Anei nga tauira mo te hanga tairitenga ki te ao te uara-matua, nga rarangi, nga huinga, nga ripanga, nga papaaarangi tuhinga.

Mena kei te hiahia koe ki te hanga i tetahi momo papaa raraunga kore-paerewa me te whakapau kaha, me titiro koe ki te ao.

3.3 Take motuhake 3. Rakau taumata-rua, he maha nga peka o ia pona o te taumata tuarua.

Ko nga ao he hoari-taonga mo te penapena raraunga. Nga rakau. Wāhanga 2I pohehe pea koe: he whakatinanatanga rerekee tenei mo nga ripanga mo te ao. Kia whakatauritea tenei whakatinanatanga ki te mea o mua.

Ripanga i runga i te rakau taumata-rua vs. i runga i te rakau taumata kotahi.

Минусы
Плюсы

  1. He puhoi ake mo te whakauru, na te mea me whakarite e koe te maha o nga pona kia rite ki te maha o nga pou.
  2. He nui ake te kohi mokowā kōpae. I te mea ko nga taupū o te ao (e mohio ana ko nga taupū huānga) me nga ingoa tīwae ka tango mokowā kōpae, ā, ka tāritehia mō ia haupae.

  1. He tere ake te uru ki nga uara o nga pou takitahi, na te mea kaore he take ki te tarai i te aho. E ai ki aku whakamatautau, he 11,5% te tere ake i runga i nga pou e 2 me te nui ake i runga i te maha o nga pou.
  2. He ngawari ake te huri i te aronuinga raraunga
  3. Waehere marama ake

Whakamutunga: ehara mo te katoa. I te mea ko te tere tetahi o nga painga nui o te ao, he iti noa iho te tikanga o te whakamahi i tenei whakatinanatanga, na te mea kare pea e tere ake i nga ripanga i roto i nga papaa paaunga hononga.

3.4 Te keehi whanui. Nga rakau me nga rakau whakahau

Ko nga hanganga raraunga ka taea te tohu hei rakau ka tino pai ki te ao.

3.4.1 Ahanoa whai kaupapa

Ko nga ao he hoari-taonga mo te penapena raraunga. Nga rakau. Wāhanga 2

Koinei te waahi o te whakamahinga tawhito o te ao. I roto i te mara rongoa he maha nga mate, nga rongoa, nga tohu, me nga tikanga maimoatanga. He mea poauau te hanga tepu me te miriona mara mo ia turoro. Ano, 99% o nga mara ka noho kau.

Whakaarohia he papaa raraunga SQL o nga ripanga: "manawanui" ~ 100 mara, "Medicine" - 000 mara, "Therapy" - 100 mara, "Complications" - 000 mara, etc. me etahi atu. Ka taea ranei e koe te hanga papaa raraunga o nga mano tini o nga ripanga, mo ia momo turoro (a ka taea e ratou te inaki!), nga maimoatanga, nga rongoa, me nga mano tini atu nga ripanga mo nga hononga i waenga i enei ripanga.

He pai te ao mo te rongoa, na te mea ka taea e koe te hanga mo ia turoro he whakamaarama tika mo tona hitori rongoa, momo rongoa, me nga mahi o nga rongoa, i te ahua o te rakau, me te kore e moumou mokowhiti mokowhiti i runga i nga pou kau, penei kia te take i roto i te take hononga.

Ko nga ao he hoari-taonga mo te penapena raraunga. Nga rakau. Wāhanga 2Ma te whakamahi i te ao he pai ki te hanga i tetahi papaa raraunga me nga raraunga mo nga tangata, ina he mea nui ki te whakaemi me te whakahiato i te nuinga o nga momo korero mo te kiritaki. Kei te hiahiatia tenei i roto i te rongoa, te putea, te hokohoko, te penapena me etahi atu waahanga

.
Ae ra, i roto i te SQL ka taea hoki e koe te peehi i tetahi rakau me etahi tepu noa (EAV, 1,2,3,4,5,6,7,8,9,10), heoi he tino uaua tenei, ka puhoi haere. Ko te tikanga, me tuhi koe i te ao e mahi ana i runga i nga ripanga me te huna i nga mahi katoa me nga ripanga i raro i te paparanga tangohanga. He he ki te whai i nga hangarau taumata-iti (ao) ma te whakamahi i te hangarau taumata teitei (SQL). Kore e tika ana.

Ehara i te mea ngaro ko te huri i te aronuinga raraunga i runga i nga ripanga nui (ALTER TABLE) ka roa te wa. Hei tauira, ka mahi a MySQL i te ALTER TABLE ADD|DROP COLUMN ma te kape katoa i nga korero mai i te ripanga tawhito ki te ripanga hou (kua whakamatauria a MyISAM, InnoDB engines). Ka taea te whakairi i tetahi papaa raraunga mahi me nga piriona o nga rekoata mo nga ra, ki te kore nga wiki.

Ko nga ao he hoari-taonga mo te penapena raraunga. Nga rakau. Wāhanga 2Ko te whakarereke i te hanganga raraunga mena ka whakamahi tatou i te ao kaore he utu. I nga wa katoa ka taea e matou te taapiri i nga ahuatanga hou e hiahiatia ana e matou ki tetahi ahanoa, ahakoa te taumata o te hierarchy. Ko nga huringa e pa ana ki te whakaingoa ano i nga manga ka taea te whakahaere i te papamuri i runga i te papaunga raraunga e rere ana.


Na reira, ina tae mai ki te penapena taonga me te maha o nga taonga kua tohua, ko te ao te mea tino pai.

I tua atu, me whakamahara ahau ki a koe he tere te uru atu ki tetahi o nga rawa, na te mea i te ao he rakau-B nga huarahi katoa.

Ko nga papaaarangi o te ao, i te nuinga o te waa, he momo putunga korero-tuhinga me te kaha ki te penapena i nga korero aroākapa. Na reira, ka taea e nga papaaarangi tuhinga-ahua te whakataetae me nga ao i roto i te waahi rokiroki rekoata rongoa. Engari kaore i te rite tonuMe tango a MongoDB hei whakataurite. I tenei rohe ka ngaro ki te ao mo nga take e whai ake nei:

  1. Rahi tuhinga. Ko te waahanga rokiroki he tuhinga kei te JSON te whakatakotoranga (he BSON ake) me te rahinga o te 16MB. I hanga motuhake te here kia kore ai e puhoi te putunga korero a JSON i te wa e poroporoaki ana mena ka penapenahia he tuhinga JSON nui ki roto ka uru atu ma nga mara. Ko tenei tuhinga me whai korero katoa mo te manawanui. E mohio ana tatou ki te matotoru o nga rekoata turoro. Ko te rahi o te kaari o te 16MB ka mutu tonu nga turoro kei roto i te kaari mate nga konae MRI, te tirotiro X-ray me etahi atu rangahau. I roto i tetahi peka o te ao ka taea e koe te whai gigabytes me nga terabytes o nga korero. Ko te tikanga, ka taea e tatou te whakamutu i tenei, engari ka haere tonu ahau.
  2. Te wa o te mohiotanga/huringa/te whakakorenga o nga taonga hou i te tūtohi a te manawanui. Ko taua putunga raraunga me panui te katoa o te mapi ki roto i te mahara (he nui tenei!), ka poroporoaki i te BSON, te taapiri/whakahurihia/te whakakore i tetahi pona hou, te whakahou i nga taurangi, te kohi ki te BSON, ka penapena ki te kōpae. Me uru noa te ao ki tetahi rawa motuhake me te raweke.
  3. Te uru tere ki nga taonga takitahi. Na te maha o nga taonga kei roto i tetahi tuhinga me tona hanganga taumata-maha, ka tere ake te uru ki nga taonga takitahi na te mea he rakau-B ia ara o te ao. I roto i te BSON, me whakamaarama raina te tuhinga kia kitea te taonga e hiahiatia ana.

3.3.2 Nga huinga huinga

Ko nga huinga hono (ahakoa me nga huinga kohanga) ka tino pai ki te ao. Hei tauira, ka whakaatuhia he huinga mai i te PHP ki te pikitia tuatahi 3.3.1.

$a = array(
  "name" => "Vince Medvedev",
  "city" => "Moscow",
  "threatments" => array(
    "surgeries" => array("apedicectomy", "biopsy"),
    "radiation" => array("gamma", "x-rays"),
    "physiotherapy" => array("knee", "shoulder")
  )
);

3.3.3 Nga tuhinga aroākapa: XML, JSON

He ngawari hoki te penapena i roto i te ao. Ka taea te whakatakoto i nga huarahi rereke mo te rokiroki.

XML
Ko te huarahi ngawari ki te whakapohehe i te XML ki te ao ko te penapena i nga huanga tohu ki roto i nga node. A, ki te hiahia tere te uru ki nga huanga tohu, katahi ka taea e taatau te neke atu ki nga peka motuhake.

Ko nga ao he hoari-taonga mo te penapena raraunga. Nga rakau. Wāhanga 2

<note id=5>
<to>Вася</to>
<from>Света</from>
<heading>Напоминание</heading>
<body>Позвони мне завтра!</body>
</note>

I runga i te COS ka rite tenei ki te waehere:

Set ^xml("note")="id=5"
Set ^xml("note","to")="Саша"
Set ^xml("note","from")="Света"
Set ^xml("note","heading")="Напоминание"
Set ^xml("note","body")="Позвони мне завтра!"

Korero: Mo te XML, JSON, nga huinga hononga, ka taea e koe te whakaputa i nga huarahi maha mo te whakaatu ki te ao. I tenei take, kaore matou i whakaatu i te raupapa o nga tohu iti i te tohu tuhipoka. Te ao katoa ^xml ka whakaatuhia nga tohu iti i roto i te raupapa piapa. Hei whakaatu i te ota, ka taea e koe te whakamahi, hei tauira, te whakaaturanga e whai ake nei:

Ko nga ao he hoari-taonga mo te penapena raraunga. Nga rakau. Wāhanga 2
JSON.
Ko te pikitia tuatahi mai i te waahanga 3.3.1 e whakaatu ana i te whakaata o tenei tuhinga JSON:

var document = {
  "name": "Vince Medvedev",
  "city": "Moscow",
  "threatments": {
    "surgeries": ["apedicectomy", "biopsy"],
    "radiation": ["gamma", "x-rays"],
    "physiotherapy": ["knee", "shoulder"]
  },
};

3.3.4 Ko nga hanganga rite tonu e honoa ana e nga hononga aroraa

He tauira: te hanganga o nga tari hoko, te waahi o nga tangata i roto i te hanganga MLM, te papaaarangi mo nga whakatuwheratanga o te chess.

Putanga raraunga tuatahi. Ka taea e koe te whakamahi i te whakatau tata o te kaha whiu hei uara taupū o te node o te ao. Na, ki te whiriwhiri i te nekehanga kaha, ka nui ki te whiriwhiri i te peka me te taumaha nui. I te ao, ko nga peka katoa o ia reanga ka tohua ma te kaha nuku.

Ko nga ao he hoari-taonga mo te penapena raraunga. Nga rakau. Wāhanga 2

Ko te hanganga o nga tari hoko, te hanganga o nga tangata i roto i te MLM. Ka taea e nga node te penapena i etahi uara keteroki e whakaatu ana i nga ahuatanga o te rakau iti katoa. Hei tauira, te rahinga hoko o tetahi rakau iti. I nga wa katoa ka whiwhi tatou i tetahi whika e whakaatu ana i nga whakatutukitanga o tetahi peka.

Ko nga ao he hoari-taonga mo te penapena raraunga. Nga rakau. Wāhanga 2

4. He aha nga ahuatanga ka tino whai hua ki te whakamahi i te ao?

Ko te pou tuatahi e whakaatu ana i nga keehi ka whiwhi koe i te hua tere nui ma te whakamahi i te ao, me te tuarua ka whakangwarihia te hoahoa, tauira raraunga ranei.

Tere
Te ngawari o te tukatuka raraunga / whakaaturanga

  1. Kōkuhu [me te kōmaka aunoa i ia taumata], [whakapūmau mā te kī matua]
  2. Te tango i nga rakau iti
  3. Ko nga mea he maha nga taonga kua kohanga me te uru takitahi
  4. Hanganga aroākapa me te kaha ki te karo i nga manga tamariki mai i tetahi peka, ahakoa nga mea kore
  5. Hohonu-tuatahi haerenga o nga rakau iti
  1. Ahanoa/hinonga me te maha o nga taonga/hinonga ka taea te whiriwhiri [me/te kohanga ranei].
  2. Raraunga-iti te kaupapa. Ka puta mai nga taonga hou ka ngaro nga mea tawhito.
  3. Me hanga e koe he papaunga raraunga ritenga.
  4. Nga turanga ara me nga rakau whakatau. I te wa e pai ana ki te whakaatu i nga ara hei rakau.
  5. Te tango i nga hanganga aroākapa me te kore whakamahi i te recursion

Te haere tonu "Ko nga ao he hoari-taonga mo te penapena raraunga. Nga rarangi iti. Wāhanga 3".

Whakakape: Ko tenei tuhinga me aku korero ki a ia ko aku whakaaro, kaore he hononga ki te tuunga mana o InterSystems Corporation.

Source: will.com

Tāpiri i te kōrero