Globals dia sabatra harena amin'ny fitahirizana angona. Hazo. Fizarana 1

Globals dia sabatra harena amin'ny fitahirizana angona. Hazo. Fizarana 1 Ny tena sabatra database - globals - dia efa fantatra hatry ny ela, saingy mbola vitsy no mahalala ny fomba fampiasana azy ireo amin'ny fomba mahomby na tsy manana ity fitaovam-piadiana mahery vaika ity mihitsy.

Raha mampiasa globals ianao amin'ny famahana ireo olana izay tena hain'izy ireo dia afaka mahazo vokatra miavaka ianao. Na amin'ny famokarana na amin'ny fanatsorana ny famahana ny olana (1, 2).

Globals dia fomba manokana amin'ny fitehirizana sy fanodinana angona, tsy mitovy amin'ny tabilao ao amin'ny SQL. Niseho tamin’ny 1966 tamin’ilay fiteny izy ireo M(UMPS) (fampandrosoana evolisiona - Cache ObjectScript, avy eo COS) ao amin'ny angon-drakitra ara-pitsaboana ary mbola misy ampiasaina mavitrika, ary tafiditra ao amin'ny faritra hafa izay itakiana ny fahamendrehana sy ny fahombiazany: ara-bola, varotra, sns.

Maneran-tany amin'ny DBMS maoderina dia manohana ny fifampiraharahana, ny fandraketana, ny replication ary ny fisarahana. Ireo. azo ampiasaina hanamboarana rafitra maoderina, azo ianteherana, mizara ary haingana izy ireo.

Tsy mametra anao amin'ny modely fifandraisana ny Globals. Manome anao fahalalahana izy ireo hamolavola rafitra angon-drakitra izay natao ho an'ny asa manokana. Ho an'ny fampiharana maro, ny fampiasana marani-tsaina ny globals dia mety ho fitaovam-piadiana miafina, manome fampisehoana izay azon'ny mpamorona fampiharana mifandray amin'ny nofinofy fotsiny.

Ny Globals ho fomba fitahirizana angon-drakitra dia azo ampiasaina amin'ny fiteny fandaharana maoderina maro, na avo lenta na ambany. Noho izany, amin'ity lahatsoratra ity dia hifantoka manokana amin'ny globals aho, fa tsy amin'ny fiteny nihavian'izy ireo taloha.

2. Ahoana ny fiasan'ny globals

Andeha hojerentsika aloha ny fomba fiasan'ny tontolo iainana sy ny tanjany. Ny eran-tany dia azo jerena amin'ny fomba fijery samihafa. Amin'ity ampahany amin'ny lahatsoratra ity dia hijery azy ireo ho toy ny hazo isika. Na toy ny trano fitehirizam-bokatra angon-drakitra.

Raha tsorina, ny global dia array maharitra. Array izay voatahiry ho azy ao anaty kapila.
Sarotra ny mieritreritra zavatra tsotra kokoa amin'ny fitehirizana angona. Ao amin'ny kaody (amin'ny fiteny COS/M) dia tsy mitovy amin'ny laharan-tsarimihetsika mahazatra tsy misy afa-tsy amin'ny marika ^ alohan'ny anarana.

Raha te hitahiry angon-drakitra amin'ny tontolo iray ianao dia tsy mila mianatra ny fiteny query SQL; ny baiko hiasa amin'izy ireo dia tena tsotra. Afaka mianatra ao anatin'ny adiny iray izy ireo.

Andeha isika hanomboka amin'ny ohatra tsotra indrindra. Hazo tokana misy sampana 2. Ny ohatra dia voasoratra ao amin'ny COS.

Globals dia sabatra harena amin'ny fitahirizana angona. Hazo. Fizarana 1

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



Rehefa mampiditra vaovao amin'ny global (Set command), dia misy zavatra 3 mitranga ho azy:

  1. Mitahiry angona amin'ny kapila.
  2. Fanondroana. Ny ao anaty fononteny no fanalahidy (amin'ny literatiora anglisy - "subscript"), ary eo ankavanan'ny mitovy ny sanda ("node value").
  3. Manavaka. Ny angon-drakitra dia nalahatra araka ny fanalahidy. Amin'ny ho avy, rehefa mamakivaky ny array, ny singa voalohany dia "Sergey Smith", ary ny faharoa "John Sidorov". Rehefa mandray lisitr'ireo mpampiasa avy amin'ny eran-tany, dia tsy mandany fotoana amin'ny fanasokajiana ny angon-drakitra. Ankoatra izany, azonao atao ny mangataka ny famoahana ny lisitra voafantina, manomboka amin'ny fanalahidy rehetra, na dia tsy misy aza (ny vokatra dia manomboka amin'ny tena fanalahidy voalohany, izay tonga aorian'ny tsy misy).

Ireo hetsika rehetra ireo dia mitranga haingana be. Tao amin'ny solosaina an-tranoko dia nahazo sanda hatramin'ny 750 insert/sec tao anatin'ny dingana iray aho. Amin'ny processeur multi-core dia mety hahatratra ny soatoavina am-polony tapitrisa inserts/sec.

Mazava ho azy, ny hafainganam-pandehan'ny fampidirana mihitsy dia tsy miteny betsaka. Azonao atao, ohatra, ny manoratra fampahalalana haingana amin'ny rakitra an-tsoratra - toy izao araka ny tsaho Miasa ny fanodinana visa. Fa amin'ny trangan'izao tontolo izao dia mahazo fitahirizana voarindra voarafitra isika vokatr'izany, izay azo ampiasaina mora sy haingana amin'ny ho avy.

Globals dia sabatra harena amin'ny fitahirizana angona. Hazo. Fizarana 1

  • Ny tanjaky ny globals lehibe indrindra dia ny hafainganam-pandehan'ny fampidirana nodes vaovao.
  • Ny angon-drakitra ao amin'ny eran-tany dia indexed foana. Ny famakivakiana azy ireo, na amin'ny ambaratonga iray na lalina ao anaty hazo, dia haingana foana.

Andeha isika hanampy sampana vitsivitsy amin'ny ambaratonga faharoa sy fahatelo amin'ny eran-tany.

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

Globals dia sabatra harena amin'ny fitahirizana angona. Hazo. Fizarana 1

Miharihary fa azo amboarina mifototra amin'ny globals ny hazo maromaro. Ankoatr'izay, ny fidirana amin'ny node rehetra dia saika eo noho eo noho ny fanondroana mandeha ho azy mandritra ny fampidirana. Ary amin'ny ambaratonga rehetra amin'ny hazo, ny sampana rehetra dia alaina amin'ny fanalahidy.

Araka ny hitanao dia azo tehirizina amin'ny lakile sy ny sandany ny fampahalalana. Ny totalin'ny halavan'ny fanalahidy (ny fitambaran'ny halavan'ny tondro rehetra) dia mety hahatratra 511 byte, ary ny soatoavina 3.6 MB ho an'ny Cache. Ny isan'ny ambaratonga ao amin'ny hazo (isan'ny refy) dia 31.

Hevitra iray hafa mahaliana. Afaka manangana hazo ianao nefa tsy mamaritra ny soatoavin'ny nodes amin'ny ambaratonga ambony.

Globals dia sabatra harena amin'ny fitahirizana angona. Hazo. Fizarana 1

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

Ny faribolana foana dia node tsy misy sanda nomena.

Mba hahatakarana bebe kokoa an'izao tontolo izao, andeha hampitaha azy ireo amin'ny hazo hafa: hazo zaridaina sy hazo anaran-drakitra.

Andeha isika hampitaha ny hazo eo amin'ny tontolo eran'izao tontolo izao miaraka amin'ireo rafitra ara-jeografika mahazatra antsika: amin'ny hazo tsotra izay maniry eny an-jaridaina sy saha, ary koa amin'ny rafitra fichier.

Globals dia sabatra harena amin'ny fitahirizana angona. Hazo. Fizarana 1

Araka ny hitantsika amin'ny hazo zaridaina, ny ravina sy ny voankazo dia tsy hita afa-tsy amin'ny faran'ny sampany.
Rafitra fichier - ny fampahalalam-baovao dia voatahiry any amin'ny faran'ny sampana ihany, izay anaran-drakitra feno.

Ary eto ny rafitra angon-drakitra manerantany.

Globals dia sabatra harena amin'ny fitahirizana angona. Hazo. Fizarana 1fahasamihafana:

  1. Nodes anatiny: Ny fampahalalana amin'ny tontolo iray dia azo tehirizina amin'ny node rehetra, fa tsy amin'ny faran'ny sampana ihany.
  2. Nodes ivelany: Ny eran-tany dia tsy maintsy manana soatoavina voafaritra amin'ny faran'ny sampana, fa ny FS sy ny hazo zaridaina dia tsy.



Raha ny momba ny nodes anatiny, dia azo lazaina fa ny firafitry ny eran-tany dia superset amin'ny firafitry ny hazo amin'ny rafitra rakitra sy ny hazo zaridaina. Ireo. mora kokoa.

Amin'ny ankapobeny dia izao tontolo izao baiko hazo manana fahafahana mitahiry angona isaky ny node.

Mba hahatakarana bebe kokoa ny asan'ny globals, andeha hojerentsika hoe inona no hitranga raha mampiasa fomba mitovy amin'ny globals hitahiry vaovao ny mpamorona ny rafi-drakitra?

  1. Ny famafana rakitra iray ao anaty lahatahiry iray dia hamafa ho azy ny lahatahiry, ary koa ny lahatahiry ambony rehetra izay tsy misy afa-tsy ny lahatahiry iray vao voafafa.
  2. Tsy ilaina ny lahatahiry. Mety hisy rakitra misy subfiles sy rakitra tsy misy subfiles. Raha ampitahaina amin'ny hazo tsotra, dia ho tonga voa ny sampana tsirairay.

    Globals dia sabatra harena amin'ny fitahirizana angona. Hazo. Fizarana 1

  3. Mety tsy ilaina ny zavatra toy ny rakitra README.txt. Ny zavatra rehetra tokony holazaina momba ny votoatin'ny lahatahiry dia azo soratana ao amin'ny rakitra lahatahiry. Ao amin'ny habaka lalan-dàlana, ny anaran'ny rakitra dia tsy azo avahana amin'ny anaran'ny lahatahiry, noho izany dia azo atao ny mandeha amin'ny rakitra fotsiny.
  4. Hitombo be ny hafainganam-pandehan'ny famafana lahatahiry misy zana-tsipìka sy fisie mianadahy. Imbetsaka tao amin'ny Habré no nisy lahatsoratra momba ny halavany sy ny fahasarotan'ny famafana rakitra kely an-tapitrisany (1, 2). Na izany aza, raha manao rafitra pseudo-file ianao amin'ny tontolo iray dia haka segondra na ampahany amin'izany. Rehefa nanandrana ny famafana zana-kazo tamin'ny solosaina an-trano aho, dia nesoriny ny node 1-96 tapitrisa tamin'ny hazo roa misy ambaratonga amin'ny HDD (fa tsy SSD) tao anatin'ny 341 segondra. Ankoatra izany, miresaka momba ny famafana ny ampahany amin'ny hazo isika, fa tsy ny rakitra manontolo miaraka amin'ny globals ihany.

Globals dia sabatra harena amin'ny fitahirizana angona. Hazo. Fizarana 1
Ny fanesorana ny zana-kazo dia teboka iray hafa matanjaka amin'ny tontolo. Tsy mila recursion ianao amin'izany. Mitranga haingana be izany.

Ao amin'ny hazontsika dia azo atao amin'ny baiko izany vonoy.

Kill ^a("+7926X")

Globals dia sabatra harena amin'ny fitahirizana angona. Hazo. Fizarana 1

Mba hahatakarana tsara kokoa ny hetsika ataontsika amin'ny tontolo manerantany dia hanome latabatra fohy aho.

Ny baiko fototra sy ny fiasa miasa amin'ny globals amin'ny COS

Set
Mametraka sampana amin'ny node (raha mbola tsy voafaritra) sy ny sandan'ny node

mampiray
Mandika zana-kazo

vonoy
Fanalana zana-kazo

ZKill
Famafana ny sandan'ny node manokana. Ny zana-kazo mipoitra avy amin'ny node dia tsy kitihina

$Query
Famakiana tanteraka ny hazo, miditra lalina ao anaty hazo

$Kaomandy
Mamakivaky sampana amin'ny node manokana

$Data
Manamarina raha voafaritra ny node

$Fampitomboana
Atomika mampitombo ny sandan'ny node. Mba hisorohana ny famakiana sy fanoratana, ho an'ny ACID. Vao haingana no nanolorana azy ho hanova ny $Sequence

Misaotra noho ny fiheveranao, vonona hamaly ny fanontanianao izahay.

Disclaimer: Ity lahatsoratra ity sy ny fanehoan-kevitro momba azy dia hevitro ary tsy misy ifandraisany amin'ny toerana ofisialin'ny InterSystems Corporation.

fanitarana Globals dia sabatra harena amin'ny fitahirizana angona. Hazo. Fizarana 2. Hianatra ny karazana angona azo aseho amin'ny eran-tany sy ny asa omen'izy ireo tombony ambony indrindra.

Source: www.habr.com

Add a comment