Iiglobals ngamakrele okugcina idatha. Imithi. Icandelo lesi-1

Iiglobals ngamakrele okugcina idatha. Imithi. Icandelo lesi-1 Ezona zikrelemnqa zokwenyani - iiglobals - kudala zaziwa, kodwa bambalwa abayaziyo indlela yokuzisebenzisa ngokufanelekileyo okanye abanayo le superweapon kwaphela.

Ukuba usebenzisa iiglobals ekusombululeni ezo ngxaki banobuchule bokwenene kuzo, ungafumana iziphumo ezibalaseleyo. Nokuba kwimveliso okanye ekwenzeni lula isisombululo sengxaki (1, 2).

Iiglobals ziyindlela ekhethekileyo yokugcina kunye nokucubungula idatha, eyahlukileyo ngokupheleleyo kwiitafile kwi-SQL. Bavela ngo-1966 ngolwimi M(UMPS) (uphuhliso lwendaleko - I-Cache ObjectScript, emva koku i-COS) kwisiseko sedatha yezonyango kwaye isekhona isetyenziswe ngokusebenzayo, kwaye iphinde ingene kwezinye iindawo apho ukuthembeka kunye nokusebenza okuphezulu kuyadingeka: imali, urhwebo, njl.

Iiglobals kwii-DBMS zanamhlanje zixhasa ukuthengiselana, ukugawulwa kwemithi, ukuphindaphinda, kunye nokwahlulahlula. Ezo. zingasetyenziselwa ukwakha iinkqubo zanamhlanje, ezithembekileyo, ezisasazwayo kunye nezikhawulezayo.

Iiglobals azikuthinteli kwimodeli yobudlelwane. Bakunika inkululeko yokuphuhlisa izakhiwo zedatha ezilungiselelwe imisebenzi ethile. Kwizicelo ezininzi, ukusetyenziswa ngobuchule kweeglobals ngokwenene kunokuba sisixhobo esiyimfihlo, ukuhambisa ukusebenza abaphuhlisi besicelo sobudlelwane banokuphupha kuphela.

Ii-Globals njengendlela yokugcina idatha ingasetyenziselwa kwiilwimi ezininzi zeprogram zanamhlanje, zombini ezikumgangatho ophezulu kunye nezinga eliphantsi. Ke ngoko, kweli nqaku ndiza kugxila ngakumbi kwiiglobals, kwaye hayi kulwimi abasuka kulo.

2. Zisebenza njani iiglobals

Masiqale siqonde indlela iiglobals ezisebenza ngayo kunye nokuba yintoni amandla azo. Iiglobals zinokujongwa kwiimbono ezahlukeneyo. Kule nxalenye yenqaku siza kubajonga njengemithi. Okanye njengoovimba bedatha abakumgangatho ophezulu.

Ukuyibeka ngokulula, i-global luluhlu oluzingileyo. Uluhlu olugcinwa ngokuzenzekelayo kwidiski.
Kunzima ukucinga into elula yokugcina idatha. Kwikhowudi (ngeelwimi ze-COS/M) iyahluka kuluhlu oluqhelekileyo lonxulumano kuphela kwisimboli. ^ phambi kwegama.

Ukugcina idatha kwihlabathi jikelele, awudingi ukufunda ulwimi lombuzo lwe-SQL; imiyalelo yokusebenza nabo ilula kakhulu. Ziyakwazi ukufundwa ngeyure.

Masiqale ngowona mzekelo ulula. Umthi okwinqanaba elinye onamasebe ama-2. Imizekelo ibhalwe kwi-COS.

Iiglobals ngamakrele okugcina idatha. Imithi. Icandelo lesi-1

Set ^a("+7926X") = "John Sidorov"
Set ^a("+7916Y") = "Sergey Smith"



Xa ufaka ulwazi kwihlabathi (Seta umyalelo), izinto ezi-3 ziyenzeka ngokuzenzekelayo:

  1. Ukugcina idatha kwidiski.
  2. Isalathiso. Yintoni ekwizibiyeli sisitshixo (kuncwadi lwesiNgesi - “subscript”), kwaye ngasekunene kokulingana lixabiso (“ixabiso le-node”).
  3. Ukuhlela. Idatha ihlelwa ngesitshixo. Kwixesha elizayo, xa udlula uluhlu, into yokuqala iya kuba "uSergey Smith", kunye neyesibini "uJohn Sidorov". Xa ufumana uluhlu lwabasebenzisi abavela kwihlabathi jikelele, i-database ayichithi ixesha lokuhlela. Ngaphezu koko, ungacela imveliso yoluhlu oluhleliweyo, ukuqala nakweliphi na isitshixo, nakwelinye elingekhoyo (imveliso iya kuqala kwisitshixo sokuqala sokwenyani, esiza emva kwesi singekhoyo).

Yonke le misebenzi yenzeka ngokukhawuleza okukhulu. Kwikhompyuter yam yasekhaya bendifumana amaxabiso ukuya kuthi ga kwi-750 yokufakwa / isekhondi kwinkqubo enye. Kwiiprosesa ezininzi ezingundoqo amaxabiso anokufikelela amashumi ezigidi ufaka/umzuzwana.

Ngokuqinisekileyo, isantya sokufaka ngokwayo asithethi kakhulu. Unako, umzekelo, ngokukhawuleza kakhulu ukubhala ulwazi kwiifayile ezibhaliweyo - ngolu hlobo ngokwamarhe Ukusetyenzwa kwee-visa kusebenza. Kodwa kwimeko ye-globals, sifumana ukugcinwa okucwangcisiweyo okucwangcisiweyo ngenxa yoko, okunokuthi kube lula kwaye kusetyenzwe ngokukhawuleza kwixesha elizayo.

Iiglobals ngamakrele okugcina idatha. Imithi. Icandelo lesi-1

  • Amandla amakhulu eeglobals sisantya apho iinodi ezintsha zinokufakwa khona.
  • Idatha kwihlabathi isoloko ifakwe kwisalathiso. Ukutyhutyha, zombini kwinqanaba elinye kunye nokujula emthini, kuhlala kukhawuleza.

Makhe songeze amanye amasebe ambalwa enqanaba lesibini nelesithathu kwihlabathi.

Set ^a("+7926X", "city") = "Moscow"
Set ^a("+7926X", "city", "street") = "Req Square"
Set ^a("+7926X", "age") = 25
Set ^a("+7916Y", "city") = "London"
Set ^a("+7916Y", "city", "street") = "Baker Street"
Set ^a("+7916Y", "age") = 36

Iiglobals ngamakrele okugcina idatha. Imithi. Icandelo lesi-1

Kucacile ukuba imithi enamanqanaba amaninzi inokwakhiwa ngokusekelwe kwiiglobals. Ngaphezu koko, ukufikelela kuyo nayiphi na i-node phantse ngokukhawuleza ngenxa ye-auto-indexing ngexesha lokufakwa. Kwaye nakweliphi na inqanaba lomthi, onke amasebe ahlelwe ngesitshixo.

Njengoko ubona, ulwazi lunokugcinwa kuzo zombini isitshixo kunye nexabiso. Ubude beqhosha elipheleleyo (isixa sobude bazo zonke izalathisi) sinokufikelela 511 byte, kunye namaxabiso I-3.6 MB yeCache. Inani lamanqanaba emthini (inani lemilinganiselo) ngama-31.

Enye inqaku elinomdla. Unokwakha umthi ngaphandle kokuchaza amaxabiso eendawo zamanqanaba aphezulu.

Iiglobals ngamakrele okugcina idatha. Imithi. Icandelo lesi-1

Set ^b("a", "b", "c", "d") = 1
Set ^b("a", "b", "c", "e") = 2
Set ^b("a", "b", "f", "g") = 3

Izangqa ezingenanto ngamaqhuqhuva angenaxabiso elabelweyo.

Ukuze uqonde ngcono iiglobals, masizithelekise neminye imithi: imithi yegadi kunye nenkqubo yefayile amagama imithi.

Masithelekise imithi kwiiglobals kunye nezona zakhiwo ziqhelekileyo zoluhlu lwemigangatho kuthi: nemithi eqhelekileyo ekhula ezitiyeni nasemasimini, kunye neenkqubo zeefayile.

Iiglobals ngamakrele okugcina idatha. Imithi. Icandelo lesi-1

Njengoko sibona kwimithi yegadi, amagqabi kunye neziqhamo zifumaneka kuphela ekupheleni kwamasebe.
Iinkqubo zefayile - ulwazi lugcinwa kuphela ekupheleni kwamasebe, angamagama afanelekileyo efayile.

Kwaye nantsi ulwakhiwo lwedatha yehlabathi.

Iiglobals ngamakrele okugcina idatha. Imithi. Icandelo lesi-1Umahluko:

  1. Amanqaku angaphakathi: Inkcazelo ehlabathini inokugcinwa kuzo zonke iindawo, kungekuphela nje ekupheleni kwamasebe.
  2. Amanqaku angaphandle: Umhlaba jikelele kufuneka uchaze amaxabiso eziphelweni zamasebe, ngelixa iFS kunye nemithi yegadi ayinayo.



Ngokubhekiselele kwii-nodes zangaphakathi, sinokuthi isakhiwo sehlabathi sisona sikhulu sesakhiwo semithi yegama kwiinkqubo zefayile kunye nemithi yegadi. Ezo. bhetyebhetye ngakumbi.

Ngokubanzi, ihlabathi liphela umthi owaliweyo onobuchule bokugcina idatha kwindawo nganye.

Ukuqonda ngcono umsebenzi weglobals, khawufane ucinge ukuba kuya kwenzeka ntoni ukuba abaqulunqi benkqubo yeefayile bebesebenzisa indlela efana neyeglobals ukugcina ulwazi?

  1. Ukucima ifayile enye kulawulo kuyakucima ngokuzenzekelayo uvimba weefayili, kunye nabo bonke abalawuli abangaphezulu abaqulathe kuphela uvimba weefayili osanda kucinywa.
  2. Bekungayi kubakho mfuneko yabalawuli. Kuya kubakho iifayile ezineefayile ezisezantsi kunye neefayile ngaphandle kweefayile ezisezantsi. Ukuba kuthelekiswa nomthi oqhelekileyo, isebe ngalinye liya kuba sisiqhamo.

    Iiglobals ngamakrele okugcina idatha. Imithi. Icandelo lesi-1

  3. Izinto ezinjenge README.txt iifayile zisenokungafuneki. Yonke into ebekufuneka ixelwe malunga nemixholo yolawulo ingabhalwa kuluhlu lwefayile ngokwayo. Kwisithuba sendlela, igama lefayile alibonakali kwigama likavimba weefayili, ngoko bekunokwenzeka ukugqitha ngeefayile nje.
  4. Isantya sokucima oovimba beefayili kunye namacandelo angaphantsi kunye neefayile ezifakwe kwindlwana iya kwanda kakhulu. Amaxesha amaninzi kuHabré kukho amanqaku malunga nokuba lixesha elingakanani kwaye kunzima ukucima izigidi zeefayile ezincinci (1, 2). Nangona kunjalo, ukuba wenza inkqubo yefayile-pseudo kwihlabathi jikelele, iyakuthatha imizuzwana okanye amaqhezu ayo. Xa ndivavanya ukucima i-subtrees kwikhompyutheni yasekhaya, isuse i-1-96 yezigidi ze-nodes ukusuka kumthi we-two-tier kwi-HDD (kungekhona i-SSD) kwi-341 yesibini. Ngaphezu koko, sithetha ngokucima inxalenye yomthi, kwaye kungekhona nje yonke ifayile enehlabathi jikelele.

Iiglobals ngamakrele okugcina idatha. Imithi. Icandelo lesi-1
Ukususa i-subtrees yenye indawo eyomeleleyo yehlabathi. Awudingi ukuphindaphinda oku. Oku kwenzeka ngokukhawuleza okukhulu.

Emthini wethu oku kunokwenziwa ngomyalelo bulala.

Kill ^a("+7926X")

Iiglobals ngamakrele okugcina idatha. Imithi. Icandelo lesi-1

Ukuqonda ngcono ukuba zeziphi izenzo ezifumanekayo kuthi kwihlabathi liphela, ndiza kubonelela ngetafile emfutshane.

Imiyalelo esisiseko kunye nemisebenzi yokusebenza neeglobals kwi-COS

Cwangcisa
Ukubeka amasebe kwindawo (ukuba ayikachazwa) kunye namaxabiso eendawo

Hlanganisa
Ukukopa umthi ongaphantsi

bulala
Ukususa umthi ongaphantsi

ZKill
Ukucima ixabiso le-node ethile. Umthi ongaphantsi ophuma kwindawo yokudibanisa awuchukunyiswa

$Umbuzo
Gqibezela ukunqumla komthi, ukuya nzulu emthini

$Oda
Amasebe anqumlayo kwindawo ethile

Idatha ye-$
Ukukhangela ukuba i-node ichaziwe

$Ukunyusa
I-atom inyusa ixabiso le-node. Ukuphepha ukwenza ukufunda nokubhala, kwi-ACID. Kutshanje kuye kwacetyiswa ukuba utshintshele $Ulandelelwano

Enkosi ngengqalelo yakho, sikulungele ukuphendula imibuzo yakho.

isikhanyeli: Eli nqaku kunye nezimvo zam kulo ngumbono wam kwaye akukho nto inxulumene nesikhundla esisemthethweni se-InterSystems Corporation.

Ukuqhubeka Iiglobals ngamakrele okugcina idatha. Imithi. Icandelo lesi-2. Uya kufunda ukuba zeziphi iintlobo zedatha ezinokuboniswa kwiiglobals kwaye yeyiphi imisebenzi abayinika eyona nzuzo iphezulu.

umthombo: www.habr.com

Yongeza izimvo