Kana iwe ukashandisa zvepasi rose mukugadzirisa iwo matambudziko avanonyatsoziva, unogona kuwana mhedzisiro yakanaka. Kungave mukubudirira kana mukurerutsa mhinduro yedambudziko (
Globals inzira yakakosha yekuchengetedza uye kugadzirisa data, yakasiyana zvachose nematafura muSQL. Vakaoneka muna 1966 mumutauro wacho
Globals mune zvemazuva ano maDBMS anotsigira kutengeserana, kutema matanda, kudzokorora, uye kupatsanura. Avo. dzinogona kushandiswa kuvaka masisitimu emazuva ano, akavimbika, akagoverwa uye anokurumidza.
Globals haigumisi iwe kune yehukama modhi. Ivo vanokupa iwe rusununguko rwekugadzira data zvimiro zvakagadziridzwa kune chaiwo mabasa. Kune akawanda maapplication, hungwaru kushandiswa kwepasirese kunogona zvechokwadi kuve chombo chakavanzika, kuendesa mashandiro ayo ehukama application vanogadzira vanogona kungorota.
Globals senzira yekuchengetedza data inogona kushandiswa mumitauro yakawanda yemazuva ano yepurogiramu, yose yepamusoro-soro uye yakaderera. Naizvozvo, mune ino chinyorwa ini ndichanyanya kutarisa nezvepasi rose, uye kwete pamutauro wavakambobva.
2. Mashandiro anoita pasi rose
Ngatitangei tinzwisise mashandiro anoita pasi rose uye kuti simba rawo nderei. Globals inogona kutariswa kubva kwakasiyana maonero. Muchikamu chino chechinyorwa tichavatarisa semiti. Kana senge hierarchical data warehouses.
Kungotaura zviri nyore, pasi rose igadziriro inopfuurira. Mutsara unochengetwa otomatiki kudhisiki.
Zvakaoma kufungidzira chimwe chinhu chakareruka chekuchengetedza data. Mune kodhi (mumitauro yeCOS/M) inosiyana kubva kune yakajairwa asociative array chete muchiratidzo. ^ pamberi pezita.
Kuti uchengetedze data mupasi rose, haufanire kudzidza mutauro weSQL wemubvunzo; mirairo yekushanda navo iri nyore kwazvo. Vanogona kudzidzwa muawa.
Ngatitangei nemuenzaniso wakapfava. Muti wenhanho imwe chete une mapazi maviri. Mienzaniso yakanyorwa muCOS.
Set ^a("+7926X") = "John Sidorov"
Set ^a("+7916Y") = "Sergey Smith"
Kana uchiisa ruzivo mupasi rose (Set command), 3 zvinhu zvinongoitika:
- Kuchengetedza data kudhisiki.
- Indexing. Izvo zviri muvabereki ndiyo kiyi (muzvinyorwa zveChirungu - "subscript"), uye kurudyi rwevakaenzana ndiko kukosha ("node value").
- Kuronga. Iyo data inorongwa nekiyi. Mune ramangwana, pakufamba-famba, chinhu chekutanga chichava "Sergey Smith", uye chechipiri "John Sidorov". Paunenge uchigamuchira runyorwa rwevashandisi kubva kupasi rose, iyo dhatabhesi haina kutambisa nguva kuronga. Uyezve, iwe unogona kukumbira kubuda kwechinyorwa chakarongedzwa, kutanga kubva kune chero kiyi, kunyangwe isiripo (iyo inobuda ichatanga kubva kune yekutanga kiyi chaiyo, inouya mushure meiyo isipo).
Kuvhiya kwese uku kunoitika nekukurumidza zvisingaite. Pakombuta yangu yekumba ndaiwana kukosha kusvika ku750 kuisa/sec mune imwechete maitiro. Pa-multi-core processors maitiro anogona kusvika
Ehe, iyo yekuisa yekumhanyisa pachayo haitauri zvakawanda. Iwe unogona, semuenzaniso, nekukurumidza kunyora ruzivo mune zvinyorwa zvinyorwa - seizvi
- Simba guru repasi rose ndiko kumhanya uko node itsva dzinogona kuiswa.
- Data mupasi rose inogara yakarongedzerwa. Kufamba navo, zvose pamwero uye zvakadzika mumuti, nguva dzose inokurumidza.
Ngatiwedzerei mamwe mashoma matavi echipiri uye chetatu nhanho kupasi rose.
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
Zviri pachena kuti miti yakawanda-nhanho inogona kuvakwa zvichienderana nepasi rose. Uyezve, kupinda kune chero node kunenge kuri pakarepo nekuda kwe auto-indexing panguva yekuiswa. Uye pane chero chiyero chemuti, matavi ose anorongwa nekiyi.
Sezvauri kuona, ruzivo runogona kuchengetwa mune zvese kiyi uye kukosha. Hwose hurefu hwekiyi (huwandu hwehurefu hwema indexes ese) hunogona kusvika
Imwe pfungwa inofadza. Iwe unogona kuvaka muti usingatsanangure kukosha kwemanodhi emazinga epamusoro.
Set ^b("a", "b", "c", "d") = 1
Set ^b("a", "b", "c", "e") = 2
Set ^b("a", "b", "f", "g") = 3
Empty madenderedzwa ma node asina kukosha kwakapihwa.
Kuti tinzwisise zviri nani pasi rose, ngatizvienzanise nemimwe miti: miti yebindu uye faira system zita miti.
Ngatienzanisai miti yepasirese neinonyanyo zivikanwa maumbirwo etsika kwatiri: nemiti yakajairika inokura mumagadheni neminda, pamwe nemafaira masisitimu.
Sezvatinoona mumiti yebindu, mashizha nemichero zvinowanikwa chete pamagumo ematavi.
Mafaira masisitimu - ruzivo rwunochengetwa chete pamagumo ematavi, ayo anonyatsokodzera mazita emafaira.
Uye heino iyo yepasi rose data chimiro.
Kusiyana:
- Internal nodes: mashoko ari munyika yose anogona kuchengetwa munzvimbo dzose, kwete kumagumo emapazi chete.
- External nodes: Yepasirese inofanirwa kunge yakatsanangura kukosha kumagumo emapazi, nepo FS nemiti yebindu isingaite.
Mukutaura kwemanodhi emukati, tinogona kutaura kuti chimiro chepasi rose ndeye superset yechimiro chemazita emiti mumafaira masisitimu uye miti yebindu. Avo. kuchinjika.
Kazhinji, pasi rose ndizvo yakarairwa muti nekugona kuchengeta data mune imwe neimwe node.
Kuti tinzwisise zviri nani basa repasi rose, ngatimbofungidzira kuti chii chaizoitika kana vagadziri vefaira masisitimu vakashandisa nzira yakafanana neyepasi rose kuchengetedza ruzivo?
- Kudzima faira rimwe chete mudhairekitori kwaizodzima dhairekitori, pamwe nemadhairekitori ese ari pamusoro ane iro dhairekitori rimwechete richangobviswa.
- Paizove pasina chikonzero chedhairekitori. Paizongove nemafaira ane subfiles uye mafaera asina subfiles. Kana ichienzaniswa nemutiwo zvawo, davi rimwe nerimwe raizova muchero.
- Zvinhu zvakaita se README.txt mafaera zvingasadiwa. Zvese zvaida kutaurwa nezve zviri mudhairekitori zvaigona kunyorwa mudhairekitori faira pacharo. Munzvimbo yenzira, zita refaira harionekwe kubva kune zita redhairekitori, saka zvaigoneka kupfuudza nemafaira chete.
- Iko kumhanya kwekudzima madhairekitori ane nested subdirectories uye mafaera aizowedzera zvakanyanya. Nguva zhinji paHabré pave nezvinyorwa zvekuti inguva yakareba sei uye yakaoma sei kudzima mamirioni emafaira madiki (
1 ,2 ) Nekudaro, kana iwe ukaita pseudo-faira system pane yepasirese, zvinotora masekonzi kana zvikamu zvayo. Pandakaedza kudzima subtrees pakombuta yepamba, yakabvisa 1-96 miriyoni node pamuti-tier paHDD (kwete SSD) musekondi imwe. Uyezve, isu tiri kutaura nezvekudzima chikamu chemuti, uye kwete chete iyo faira yese ine globals.
Kubvisa subtrees imwe pfungwa yakasimba yepasi rose. Iwe haudi recursion pane izvi. Izvi zvinoitika nekukurumidza zvisingaite.
Mumuti wedu izvi zvaigona kuitwa nemurairo Uraya.
Kill ^a("+7926X")
Kuti tinzwisise zviri nani zviito zviripo kwatiri pamusoro pepasi rose, ini ndichapa tafura pfupi.
Yekutanga mirairo uye mabasa ekushanda nepasi rose muCOS
Kuisa matavi kune node (kana isati yatsanangurwa) uye node values
Kukopa subtree
Kubvisa subtree
Kudzima kukosha kweimwe node. Iyo subtree inobuda kubva pane node haina kubatwa
Kutenderera kwakazara kwemuti, kuenda kwakadzika mumuti
Kutenderera mapazi eimwe node
Kutarisa kana node inotsanangurwa
Atomic kuwedzera kukosha kwenodhi. Kudzivirira kuita zvekuverenga nekunyora, zveACID. Munguva pfupi yapfuura yakakurudzirwa kuchinja kune
Tinokutendai nekuteerera kwenyu, tagadzirira kupindura mibvunzo yenyu.
Disclaimer: Ichi chinyorwa uye zvandinotaura kwazviri maonero angu uye hazvina hukama nenzvimbo yepamutemo yeInterSystems Corporation.
Kuenderera mberi
Source: www.habr.com