Globals ipfuma- minondo yekuchengetedza data. Miti. Chikamu 1

Globals ipfuma- minondo yekuchengetedza data. Miti. Chikamu 1 Iwo chaiwo dhatabhesi minondo - yepasirese - yagara ichizivikanwa, asi vachiri vashoma vanoziva mashandisiro azvo zvinobudirira kana kuti havana iyi superweapon zvachose.

Kana iwe ukashandisa zvepasi rose mukugadzirisa iwo matambudziko avanonyatsoziva, unogona kuwana mhedzisiro yakanaka. Kungave mukubudirira kana mukurerutsa mhinduro yedambudziko (1, 2).

Globals inzira yakakosha yekuchengetedza uye kugadzirisa data, yakasiyana zvachose nematafura muSQL. Vakaoneka muna 1966 mumutauro wacho M(UMPS) (Evolutionary development - Cache ObjectScript, apa COS) mudura rezvokurapa uye richiripo kushingaira kushandiswa, uye zvakare yakapinda mune dzimwe nzvimbo uko kuvimbika uye kuita kwepamusoro kunodiwa: mari, kutengeserana, nezvimwe.

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.

Globals ipfuma- minondo yekuchengetedza data. Miti. Chikamu 1

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



Kana uchiisa ruzivo mupasi rose (Set command), 3 zvinhu zvinongoitika:

  1. Kuchengetedza data kudhisiki.
  2. Indexing. Izvo zviri muvabereki ndiyo kiyi (muzvinyorwa zveChirungu - "subscript"), uye kurudyi rwevakaenzana ndiko kukosha ("node value").
  3. 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 makumi emamiriyoni kuisa/sec.

Ehe, iyo yekuisa yekumhanyisa pachayo haitauri zvakawanda. Iwe unogona, semuenzaniso, nekukurumidza kunyora ruzivo mune zvinyorwa zvinyorwa - seizvi maererano nerunyerekupe Visa processing inoshanda. Asi munyaya yepasi rose, tinowana yakarongeka indexed kuchengetedza semugumisiro, iyo inogona kushandiswa nyore nyore uye nekukurumidza kushanda nayo mune ramangwana.

Globals ipfuma- minondo yekuchengetedza data. Miti. Chikamu 1

  • 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

Globals ipfuma- minondo yekuchengetedza data. Miti. Chikamu 1

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 511 byte, uye tsika 3.6 MB yeCache. Huwandu hwemazinga mumuti (nhamba yezviyero) ndeye 31.

Imwe pfungwa inofadza. Iwe unogona kuvaka muti usingatsanangure kukosha kwemanodhi emazinga epamusoro.

Globals ipfuma- minondo yekuchengetedza data. Miti. Chikamu 1

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.

Globals ipfuma- minondo yekuchengetedza data. Miti. Chikamu 1

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.

Globals ipfuma- minondo yekuchengetedza data. Miti. Chikamu 1Kusiyana:

  1. Internal nodes: mashoko ari munyika yose anogona kuchengetwa munzvimbo dzose, kwete kumagumo emapazi chete.
  2. 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?

  1. Kudzima faira rimwe chete mudhairekitori kwaizodzima dhairekitori, pamwe nemadhairekitori ese ari pamusoro ane iro dhairekitori rimwechete richangobviswa.
  2. Paizove pasina chikonzero chedhairekitori. Paizongove nemafaira ane subfiles uye mafaera asina subfiles. Kana ichienzaniswa nemutiwo zvawo, davi rimwe nerimwe raizova muchero.

    Globals ipfuma- minondo yekuchengetedza data. Miti. Chikamu 1

  3. 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.
  4. 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.

Globals ipfuma- minondo yekuchengetedza data. Miti. Chikamu 1
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")

Globals ipfuma- minondo yekuchengetedza data. Miti. Chikamu 1

Kuti tinzwisise zviri nani zviito zviripo kwatiri pamusoro pepasi rose, ini ndichapa tafura pfupi.

Yekutanga mirairo uye mabasa ekushanda nepasi rose muCOS

Set
Kuisa matavi kune node (kana isati yatsanangurwa) uye node values

Batanidza
Kukopa subtree

Uraya
Kubvisa subtree

ZKill
Kudzima kukosha kweimwe node. Iyo subtree inobuda kubva pane node haina kubatwa

$Mubvunzo
Kutenderera kwakazara kwemuti, kuenda kwakadzika mumuti

$Order
Kutenderera mapazi eimwe node

$Data
Kutarisa kana node inotsanangurwa

$Increment
Atomic kuwedzera kukosha kwenodhi. Kudzivirira kuita zvekuverenga nekunyora, zveACID. Munguva pfupi yapfuura yakakurudzirwa kuchinja kune $Sequence

Tinokutendai nekuteerera kwenyu, tagadzirira kupindura mibvunzo yenyu.

Disclaimer: Ichi chinyorwa uye zvandinotaura kwazviri maonero angu uye hazvina hukama nenzvimbo yepamutemo yeInterSystems Corporation.

Kuenderera mberi Globals ipfuma- minondo yekuchengetedza data. Miti. Chikamu 2. Iwe unozodzidza kuti ndeapi marudzi e data anogona kuratidzwa pane zvepasi rose uye pamabasa api avanopa iyo yakanyanya bhenefiti.

Source: www.habr.com

Voeg